---
name: timeback-nweamap-1edtech
description: Use when an agent is handed platform3 NWEAMap 1EdTech credentials and needs to import, verify, sync, audit NWEA MAP Growth CDF data, or read the module-owned RIT-to-grade/R90 reference by calling the live surface. The pack is instructions-only: no norms tables, no dedupe logic, no growth-window switches, no term parsing, no Growth X calculator, and no local RIT/R90 calculator or table.
version: 2026-06-04
---

# TimeBack NWEAMap 1EdTech

Use this skill for NWEAMap 1EdTech work when the job is CDF ingest, read-back,
sync, or audit against the live TimeBack surface.

This skill is instructions only. It teaches an agent how to ask the platform.
It must not do the platform's work.

## Source Of Truth

Fetch the hosted docs before making claims:

- Customer website: <https://platform3-andymontgomery-9773s-projects.vercel.app/nweamap/1edtech/customer_website>
- Data dictionary: <https://platform3-andymontgomery-9773s-projects.vercel.app/nweamap/1edtech/data_dictionary>
- Architecture: <https://platform3-andymontgomery-9773s-projects.vercel.app/nweamap/1edtech/architecture>
- Live API: <https://platform3-andymontgomery-9773s-projects.vercel.app/nweamap/1edtech/implementation/api>
- Surface QC: <https://platform3-andymontgomery-9773s-projects.vercel.app/nweamap/1edtech/surface_qc>

The 1EdTech surface mirrors NWEA's CDF files and adds platform gap-fill
behavior: tenant auth, import evidence, idempotency, soft-delete retention, and
the explicit `sittingScope` parameter. It also owns the portable observed
RIT-to-grade/R90 reference lookup at `/nweamap/v1/rit-to-grade*` under R6;
legacy `/nweamap/v1/r90*` routes delegate there. Exact Alpha reports are not
part of this surface.

## Install This Pack

Install the whole `pack/` folder, not only this file.

Claude Code user-level install:

```bash
export PACK_URL="https://platform3-andymontgomery-9773s-projects.vercel.app/nweamap/1edtech/skill_pack"
export CLAUDE_SKILL_DIR="${CLAUDE_SKILL_DIR:-$HOME/.claude/skills/timeback-nweamap-1edtech}"
mkdir -p "$CLAUDE_SKILL_DIR/references" "$CLAUDE_SKILL_DIR/agents"
curl -fsS "$PACK_URL/pack/SKILL.md" -o "$CLAUDE_SKILL_DIR/SKILL.md"
curl -fsS "$PACK_URL/pack/references/worked-example.md" -o "$CLAUDE_SKILL_DIR/references/worked-example.md"
curl -fsS "$PACK_URL/pack/references/runnable-check.md" -o "$CLAUDE_SKILL_DIR/references/runnable-check.md"
curl -fsS "$PACK_URL/pack/references/source-contract.md" -o "$CLAUDE_SKILL_DIR/references/source-contract.md"
curl -fsS "$PACK_URL/pack/references/leak-check.md" -o "$CLAUDE_SKILL_DIR/references/leak-check.md"
curl -fsS "$PACK_URL/pack/agents/claude.yaml" -o "$CLAUDE_SKILL_DIR/agents/claude.yaml"
```

Codex CLI install:

```bash
export PACK_URL="https://platform3-andymontgomery-9773s-projects.vercel.app/nweamap/1edtech/skill_pack"
export CODEX_HOME="${CODEX_HOME:-$HOME/.codex}"
export CODEX_SKILL_DIR="$CODEX_HOME/skills/timeback-nweamap-1edtech"
mkdir -p "$CODEX_SKILL_DIR/references" "$CODEX_SKILL_DIR/agents"
curl -fsS "$PACK_URL/pack/SKILL.md" -o "$CODEX_SKILL_DIR/SKILL.md"
curl -fsS "$PACK_URL/pack/references/worked-example.md" -o "$CODEX_SKILL_DIR/references/worked-example.md"
curl -fsS "$PACK_URL/pack/references/runnable-check.md" -o "$CODEX_SKILL_DIR/references/runnable-check.md"
curl -fsS "$PACK_URL/pack/references/source-contract.md" -o "$CODEX_SKILL_DIR/references/source-contract.md"
curl -fsS "$PACK_URL/pack/references/leak-check.md" -o "$CODEX_SKILL_DIR/references/leak-check.md"
curl -fsS "$PACK_URL/pack/agents/openai.yaml" -o "$CODEX_SKILL_DIR/agents/openai.yaml"
curl -fsS "$PACK_URL/pack/agents/codex.yaml" -o "$CODEX_SKILL_DIR/agents/codex.yaml"
```

Perplexity Computer import workaround:

```bash
export PACK_URL="https://platform3-andymontgomery-9773s-projects.vercel.app/nweamap/1edtech/skill_pack"
export PERPLEXITY_PACK_DIR="$HOME/perplexity-computer/skills/timeback-nweamap-1edtech"
mkdir -p "$PERPLEXITY_PACK_DIR/references" "$PERPLEXITY_PACK_DIR/agents"
curl -fsS "$PACK_URL/pack/SKILL.md" -o "$PERPLEXITY_PACK_DIR/SKILL.md"
curl -fsS "$PACK_URL/pack/references/worked-example.md" -o "$PERPLEXITY_PACK_DIR/references/worked-example.md"
curl -fsS "$PACK_URL/pack/references/runnable-check.md" -o "$PERPLEXITY_PACK_DIR/references/runnable-check.md"
curl -fsS "$PACK_URL/pack/references/source-contract.md" -o "$PERPLEXITY_PACK_DIR/references/source-contract.md"
curl -fsS "$PACK_URL/pack/references/leak-check.md" -o "$PERPLEXITY_PACK_DIR/references/leak-check.md"
curl -fsS "$PACK_URL/pack/agents/perplexity.md" -o "$PERPLEXITY_PACK_DIR/agents/perplexity.md"
```

Attach the downloaded folder to the project and paste the opening description
of this `SKILL.md` as the project instruction.

## Credentials

Use one live URL for demo and real-tenant work:

```bash
export NWEAMAP_BASE_URL="https://platform3-andymontgomery-9773s-projects.vercel.app/nweamap/1edtech/implementation/api"
export BASE_URL="$NWEAMAP_BASE_URL"
```

For demo work, mint a token from the surface:

```bash
export NWEAMAP_DEMO_JWT="$(curl -fsS -X POST "$BASE_URL/dev/mint?tenantId=demo" | jq -r '.token')"
```

For real tenants, use the operator-supplied JWT, usually
`NWEAMAP_REVIEWER_JWT` or a customer token. Never print or commit real tokens.
The public mint route is demo-only.

## Workflow

1. Read the customer website quickstart and the data dictionary entries for the
   resources you will touch.
2. Set `BASE_URL` and acquire a demo token or provided tenant token.
3. Download all five demo CDF files from `/dev/cdf/{sourceFile}` before import.
4. Import CDF bundles through `POST /nweamap/v1/imports` with an
   `Idempotency-Key`.
5. Read import status through `GET /nweamap/v1/imports/{importId}`.
6. Read the selected test of record with
   `GET /nweamap/v1/assessment-results?...&sittingScope=test_of_record`.
7. Read all sittings, including retained deleted rows, with
   `sittingScope=all&includeDeleted=true` for audit workflows.
8. If you need observed RIT-to-grade/R90, call
   `GET /nweamap/v1/rit-to-grade/table` or
   `GET /nweamap/v1/rit-to-grade?subject=math&rit=239`; do not carry a local
   table. Use legacy `/r90*` only for compatibility.
9. Cite the hosted docs and exact API calls in any generated report.

## API Perimeter

The approved 1EdTech API exposes these operations:

- `POST /dev/mint?tenantId=demo`
- `GET /dev/cdf`
- `GET /dev/cdf/{sourceFile}`
- `POST /nweamap/v1/imports`
- `GET /nweamap/v1/imports`
- `GET /nweamap/v1/imports/{importId}`
- `GET /nweamap/v1/assessment-results`
- `GET /nweamap/v1/assessment-results/{rowId}`
- `GET /nweamap/v1/students`
- `GET /nweamap/v1/class-assignments`
- `GET /nweamap/v1/program-assignments`
- `GET /nweamap/v1/accommodations`
- `GET /nweamap/v1/rit-to-grade/table`
- `GET /nweamap/v1/rit-to-grade`
- `GET /nweamap/v1/r90/table`
- `GET /nweamap/v1/r90`

Use `sittingScope=test_of_record` to ask the platform for the server-selected
highest-valid-RIT row. Use `sittingScope=all&includeDeleted=true` for retake and
invalidation audit reads. Do not compute the test of record locally.

## Worked Example

Run `/nweamap/1edtech/skill_pack/pack/references/worked-example.md` to import
the demo CDF files and read back the platform-selected test-of-record row. It
uses only live surface calls.

Expected platform answer:

```json
{
  "student_id": "stu-12345",
  "subject": "Math",
  "test_rit_score": 211,
  "test_id": "1110000001",
  "is_test_of_record": true,
  "test_of_record_reason": "highest_rit",
  "norms_reference_data": "2025",
  "growth_measure_yn": "Y"
}
```

## Runnable Check

Run `/nweamap/1edtech/skill_pack/pack/references/runnable-check.md` when you
need proof. The check mints a demo token, downloads CDF files, imports them,
reads import evidence, reads `sittingScope=test_of_record`, and reads
`sittingScope=all&includeDeleted=true`.

The check passes only when the live surface returns the expected row counts and
the expected test-of-record row. It contains no norms table, no dedupe code, no
growth-window switch, and no local calculator.

## Surface-Owned Logic Boundary

Stop and report a surface leak if the job requires any of these inside your
app, report, or agent code:

- local norms data;
- local dedupe or canonical-row selection;
- growth-window column switch statements;
- term-string parsing for school year, window, or norms;
- Growth X, projected-growth fallback, local RIT50/RIT90/Effective Grade/CGP,
  or report-cell calculators;
- private RIT-to-grade/R90 table/parser copies instead of the
  NWEAMAP-owned `/nweamap/v1/rit-to-grade*` surface;
- MAP Quadrants, growth-over-time, retakes-cell, norms-isolation, or
  growth-breakdown exact report regeneration;
- golden-cell validation against authoritative report expected values.

Those are Alpha-surface commitments or platform-owned NWEAMAP surface calls,
not 1EdTech skill-pack logic. The approved boundary is
<https://platform3-andymontgomery-9773s-projects.vercel.app/nweamap/1edtech/architecture#nitd-018-report-oracle-boundary>.

## Supported Work

You may build:

- a CDF import verifier;
- a sync probe for import and raw CDF collections;
- a test-of-record read-back report that displays only fields returned by the
  surface;
- a retake/invalidation audit view using `sittingScope=all&includeDeleted=true`;
- a boundary report that explains why MAP Quadrants report regeneration routes
  to Alpha.

## References

- `/nweamap/1edtech/skill_pack/pack/references/worked-example.md`
- `/nweamap/1edtech/skill_pack/pack/references/runnable-check.md`
- `/nweamap/1edtech/skill_pack/pack/references/source-contract.md`
- `/nweamap/1edtech/skill_pack/pack/references/leak-check.md`
