platform3 / QTI / Alpha Surface QC
Generated 2026-05-21T00:15:41.892Z
Surface-level release gate

Alpha QTI surface passes QC.

This report checks the approved Alpha architecture, data dictionary, customer website, and implementation as one surface. The high-risk rollback from implementation attempt 1 is closed: response bodies now match the published Alpha object field sets, OpenAPI locks the shapes, and the local contract suite passes.

Pass: accept the Alpha QTI surface
The QTI Alpha surface passes QC. No architecture, data dictionary, customer website, or implementation rollback is recommended.
Rollback target
No product rollback. P-001 is process cleanup only; C-001 is optional customer-website polish.

Benchmark And Customer Eval Target

The Alpha surface QC eval does not exist yet, so this report targets the same release-gate bar used by the approved 1EdTech surface QC: a binary, evidence-backed decision comparable to CNCF conformance.

Persona: Discerning Alpha platform owner and app-builder LLM operator who has read the approved Alpha architecture, data dictionary, customer website, and implementation.
Job: Decide in one sitting whether the Alpha QTI surface is mutually consistent, honestly tested, safe for teachers/students/parents/app-builder LLMs, and ready to be treated as the completed Alpha surface.
Benchmark: https://www.cncf.io/training/certification/software-conformance/. CNCF Certified Kubernetes Software Conformance program. It sets a strong release-gate reference because it uses a binary certification decision, reproducible conformance tooling, submitted evidence, and reviewer approval.

Approved Artifact Chain

Surface QC uses deployment-specific canonical URLs for documentation deliverables and the approved local implementation path for the implementation deliverable.

DeliverableStatusAttemptCanonical sourceApproved at
Alpha Architecture Pass 1 https://platform3-1vrj6jl06-andymontgomery-9773s-projects.vercel.app 2026-05-20T23:03:46Z
Alpha Data Dictionary Pass 1 https://platform3-jbpj9pddg-andymontgomery-9773s-projects.vercel.app 2026-05-20T23:18:54Z
Alpha Customer Website Pass 1 https://platform3-c21wx9sw2-andymontgomery-9773s-projects.vercel.app 2026-05-20T23:38:05Z
Alpha Implementation Pass 2 /Users/andymontgomery/projects/platform3/loop/qti/artifacts/alpha/implementation/impl 2026-05-21T00:08:57Z

Gate Metrics

These numbers are drawn from the approved Alpha traceability, dictionary, customer-site source, implementation provenance, tests, and local verification commands.

Pass
Surface verdict
No product rollback. Alpha QTI can be accepted as the completed QTI Alpha surface.
14 ITDs
Alpha decisions
Every Alpha cut, restriction, rename, and extension has a stable architecture anchor.
9 objects / 84 fields
Public model
The data dictionary and customer website public object field sets match exactly.
13 tables / 127 fields
Shared persistence
Alpha adds no tables, columns, or indexes beyond the approved 1EdTech qti.* schema.
11
Customer operations
All approved Alpha operations appear in the customer website, OpenAPI, provenance, HTTP handler, and tests.
17/17
Implementation tests
The local Node suite passed during this QC run.
Read-only
Public conformance posture
Alpha exposes trust status and blocks public conformance mutation.
0
Anchor misses
Alpha architecture, data dictionary, and customer website local hash links resolve.

Per-Deliverable Verdicts

Each approved deliverable remains internally fit for purpose and does not require rollback.

Architecture Pass

Verdict: Pass. Rollback: none.

  • Approved attempt 1 defines 14 Alpha ITDs over the approved 1EdTech surface: 2 cuts, 4 restrictions, 4 renames, and 4 extensions.
  • alpha-itd-001 requires shared qti.* persistence and forbids Alpha persistence forks.
  • alpha-itd-011 cuts public conformance mutation; alpha-itd-012 adds read-only trust status backed by 1EdTech surface QC evidence.
  • alpha-architecture-traceability.json carries machine-readable ITD, operation, cut, rename, and data-dictionary provenance for downstream artifacts.

Data Dictionary Pass

Verdict: Pass. Rollback: none.

  • Approved attempt 1 maps 9 public Alpha objects and 84 public fields to the same 13 qti.* tables and 127 fields approved for 1EdTech.
  • All Alpha labels are explicit: pass-through, rename, restriction, extension, or cut. Every label links to an Alpha ITD.
  • studentRef, activityState, answers, templateState, results, gradingExplanation, and trust-status fields document privacy and invalid-value rules.
  • A local object/field-set comparison found no drift between alpha-data-dictionary.json and alpha-customer-website-source.json.

Customer Website Pass

Verdict: Pass. Rollback: none.

  • Approved attempt 1 documents 11 Alpha operations, 6 workflows, 9 behavior contracts, top-level Authentication, top-level Errors, and a 252-entry search index.
  • Every endpoint has inline request and response schema rows, examples, related objects, related fields, and Alpha ITD provenance.
  • The Field index covers all 84 public Alpha fields and shows the qti.* source path or approved Alpha derivation.
  • The public cuts table clearly states that public Alpha callers cannot run conformance and cannot browse raw package bytes, object graphs, component rows, variable-declaration rows, processing-rule rows, or granular conformance assertions.

Implementation Pass

Verdict: Pass. Rollback: none.

  • Approved attempt 2 fixed the attempt-1 response-shape drift: Activity now returns workspaceId and updatedAt, and AnswerSubmission/ActivityResult now return answerSchema, templateState, startedAt, and suspendedAt.
  • npm test passed 17/17 tests in this QC run, including Alpha HTTP, OpenAPI schema, 1EdTech inherited contracts, conformance evidence, privacy, schema, and reference-resolution tests.
  • alphaSchemaContract.test.mjs locks all 11 operation IDs, the public conformance-run cut, and the required Activity and AnswerSubmission OpenAPI field sets.
  • alphaHttpApi.test.mjs exercises the full customer path from package import through activity, answer submission, result, test-data deletion, and trust status.
  • migrations/001_qti_core.sql is byte-identical to the approved 1EdTech migration, proving Alpha did not fork persistence.

Cross-Deliverable Consistency Checks

These checks are the core QC evidence. A blocker here would roll back to the earliest flawed deliverable.

Approved Artifact Chain Pass

state.json, transcript.md, eval results, and approved summaries agree that the four Alpha upstream deliverables are approved before this QC attempt.

  • state.json current deliverable is alpha/surface_qc attempt 1.
  • Alpha architecture, data_dictionary, customer_website, and implementation are approved in state.json with the exact canonical URLs surfaced in this report.
  • Transcript records architecture approved at 2026-05-20T23:03:46Z, data dictionary at 2026-05-20T23:18:54Z, customer website at 2026-05-20T23:38:05Z, and implementation attempt 2 at 2026-05-21T00:08:57Z.

Alpha Divergence Trace Pass

Every Alpha divergence is a documented cut, restriction, rename, or extension with downstream implementation evidence.

  • Architecture traceability lists 14 Alpha ITDs and labels each change type.
  • Implementation provenance lists the same 14 Alpha ITDs and a concrete implementation note for each.
  • Customer website and data dictionary expose the same public cuts and school-language names, including workspaceId, studentRef, activity, answer submission, result, and trust status.

Public Object And Field Coverage Pass

The Alpha data dictionary and customer website agree on every public object and field.

  • Local field-set check: 9 data-dictionary objects, 9 customer-website objects, objectIdsMatch=true, fieldDiff=[].
  • Counts agree: 84 public fields, 10 allowed-value sets, 13 shared tables, and 127 shared fields.
  • The implementation regression tests lock the highest-risk response shapes: Activity, AnswerSubmission, and ActivityResult.

API Contract Coverage Pass

The 11 Alpha operation IDs align across the approved customer website, OpenAPI, provenance, HTTP server, facade, README runbook, and tests.

  • Operation IDs: importAssessmentPackage, listContent, getContent, getStudentView, saveContentDraft, downloadQtiXml, startActivity, submitAnswers, getActivityResult, deleteStudentTestData, getQtiTrustStatus.
  • alpha-qti.openapi.yaml also includes blockedPublicConformanceRun for POST /qti/conformance-runs, which is the approved cut from public Alpha.
  • The customer website endpoint count, implementation provenance contract list, and test assertions all report 11 implemented Alpha contracts with no missing or extra implemented operation.

Implementation Rollback Closure Pass

The attempt-1 implementation drift is closed and does not require rollback to the customer website or data dictionary.

  • Prior finding: answer-submission omitted answerSchema, templateState, startedAt, and suspendedAt.
  • Current alphaQtiFacade.mjs answerSubmissionFromAttempt returns those fields and activityResultFromAttempt spreads the corrected submission shape.
  • Prior finding: activity omitted workspaceId and updatedAt. Current startActivity returns both, and alphaHttpApi.test.mjs asserts both.
  • Current OpenAPI Activity and AnswerSubmission schemas include the required field lists that the reviewer cited.

Shared Persistence Pass

Alpha remains a facade over the approved 1EdTech qti.* persistence model.

  • cmp -s between the 1EdTech and Alpha migrations returned exit code 0, meaning the SQL files are byte-identical.
  • Implementation provenance sharedDataDictionaryTables lists the same 13 qti.* tables approved by 1EdTech.
  • No Alpha-specific migration, table, column, or index is introduced in the implementation artifact.

Learner Data Privacy Pass

Alpha preserves the 1EdTech privacy rules and makes the public vocabulary safer for teachers, parents, students, and app-builder LLMs.

  • studentRef is the Alpha name for pseudonymous candidate reference and must be a UUID, not learner or parent PII.
  • alphaHttpApi.test.mjs proves an email-shaped studentRef is rejected and redacted from Problem output.
  • privacyAndTrace.test.mjs is inherited and still passes, covering learner-runtime PII rejection, trace redaction, Problem.detail redaction, and authorization for runtime-data deletion.

Trust Status And Conformance Pass

Alpha exposes release trust as read-only customer information while leaving conformance execution in release tooling.

  • POST /qti/conformance-runs returns 403 for Alpha callers.
  • GET /qti/trust-status summarizes qti.conformance_run and qti.conformance_assertion evidence and includes the approved 1EdTech surface QC URL.
  • The inherited 1EdTech conformance tests passed in the Alpha implementation suite, including real bundle hash checks and per-assertion evidence persistence.

Hosted Documentation And Deep Links Pass

The approved Alpha documentation deliverables have deployment-specific canonical URLs and stable local anchors.

  • Architecture URL: https://platform3-1vrj6jl06-andymontgomery-9773s-projects.vercel.app.
  • Data dictionary URL: https://platform3-jbpj9pddg-andymontgomery-9773s-projects.vercel.app.
  • Customer website URL: https://platform3-c21wx9sw2-andymontgomery-9773s-projects.vercel.app.
  • Local hash-link check: architecture ids=24 links=56 missing=0; data dictionary ids=251 links=91 missing=0; customer website ids=269 links=362 missing=0.

Findings And Rollback Recommendations

No product blocker remains. The findings below are process cleanup or optional polish, and both have rollback target none.

P-001: Issue ledger still carries superseded open rows Watch

Affects: loop/qti/issues.jsonl. Severity: process. Rollback: none.

Earlier issues.jsonl rows retain open status even though transcript.md records later reviewer approvals.
  • This is the same process hygiene issue identified by the approved 1EdTech surface QC.
  • It does not create an Alpha product rollback because state.json, transcript.md, summary.json files, and eval results identify the approved current attempts.

Recommendation: Append closure or supersession rows after approval, or update the driver to write closure records when a later attempt addresses a recorded issue.

C-001: Customer website could add language tabs later Watch

Affects: alpha/customer_website. Severity: optional. Rollback: none.

The approved reviewer noted bash/curl only examples as non-blocking.
  • The Alpha customer website passed its customer eval and rubric as-is.
  • App-builder LLMs can translate curl examples, so this is not a release blocker for the named Alpha audience.

Recommendation: Future customer-website polish can add JavaScript/TypeScript and Python tabs without changing the approved implementation contract.

Verification Evidence

Commands are listed with working directory and outcome so the reviewer can rerun the gate.

CommandCWDResultOutcome
npm test loop/qti/artifacts/alpha/implementation/impl Pass 17 tests passed, 0 failed. Covered Alpha HTTP, Alpha OpenAPI schema, inherited 1EdTech HTTP/conformance/privacy/schema contracts, and OpenAPI/schema reference resolution.
JSON parse checks repo root Pass Parsed Alpha architecture traceability, Alpha data dictionary, Alpha customer website source, customer search index, implementation provenance, implementation summary, and loop state.
Static hash-link check repo root Pass Architecture, data dictionary, and customer website local hash links all resolve with 0 missing anchors.
Object/field/operation consistency check repo root Pass alphaItds=14, dataObjects=9, customerObjects=9, endpoints=11, implementedContracts=11, missingInProv=[], extraInProv=[], objectIdsMatch=true, fieldDiff=[].
cmp -s 1edtech migration alpha migration repo root Pass Exit code 0. Alpha migration is byte-identical to the approved 1EdTech migration.
Browser fetch approved documentation URLs web tool Watch CNCF benchmark page fetched successfully. The platform3 Vercel deployment hosts did not return content through the browsing tool, so this report relies on driver-recorded prior 200 checks and local approved artifacts; the driver will deploy and fetch this QC site.
node loop/qti/artifacts/alpha/surface_qc/source/build-site.mjs repo root Pass Generated static index.html, surface-qc-evidence.json, vercel.json, and .gitignore under OUT_DIR/site.

Sources Read

Platform3 artifacts are authoritative. External QTI files were used only as reference material for terminology, runtime, and conformance context.

  • loop/qti/state.json
  • loop/qti/transcript.md
  • loop/qti/issues.jsonl
  • loop/qti/evals/1edtech/surface_qc/customer_eval.json
  • loop/qti/evals/1edtech/surface_qc/rubric.json
  • loop/qti/evals/alpha/*/results/*.json
  • loop/qti/artifacts/alpha/architecture/summary.json
  • loop/qti/artifacts/alpha/architecture/site/index.html
  • loop/qti/artifacts/alpha/architecture/site/alpha-architecture-traceability.json
  • loop/qti/artifacts/alpha/data_dictionary/summary.json
  • loop/qti/artifacts/alpha/data_dictionary/site/index.html
  • loop/qti/artifacts/alpha/data_dictionary/site/alpha-data-dictionary.json
  • loop/qti/artifacts/alpha/customer_website/summary.json
  • loop/qti/artifacts/alpha/customer_website/site/index.html
  • loop/qti/artifacts/alpha/customer_website/site/alpha-customer-website-source.json
  • loop/qti/artifacts/alpha/customer_website/site/search-index.json
  • loop/qti/artifacts/alpha/implementation/summary.json
  • loop/qti/artifacts/alpha/implementation/impl/README.md
  • loop/qti/artifacts/alpha/implementation/impl/provenance.json
  • loop/qti/artifacts/alpha/implementation/impl/openapi/alpha-qti.openapi.yaml
  • loop/qti/artifacts/alpha/implementation/impl/migrations/001_qti_core.sql
  • loop/qti/artifacts/alpha/implementation/impl/src/alpha/alphaHttpServer.mjs
  • loop/qti/artifacts/alpha/implementation/impl/src/alpha/alphaMappings.mjs
  • loop/qti/artifacts/alpha/implementation/impl/src/alpha/alphaQtiFacade.mjs
  • loop/qti/artifacts/alpha/implementation/impl/tests/alphaHttpApi.test.mjs
  • loop/qti/artifacts/alpha/implementation/impl/tests/alphaSchemaContract.test.mjs
  • loop/qti/artifacts/alpha/implementation/impl/tests/conformanceRunner.test.mjs
  • loop/qti/artifacts/alpha/implementation/impl/tests/privacyAndTrace.test.mjs
  • loop/qti/artifacts/alpha/implementation/impl/tests/schemaContract.test.mjs
  • external/qti/docs/plain-english-guide.md
  • external/qti/docs/qti-3-relational-json-architecture.md
  • external/qti/docs/runtime-semantics.md
  • external/qti/contracts/qti-boundary.openapi.yaml
  • external/qti/generated/conformance/processing-coverage.md