{
  "schema": 1,
  "release": "0.1.2",
  "releaseName": "Public review build of prototype v0.1.1",
  "releaseLabel": "Interactive prototype — scripted demonstrations using simulated/replay data.",
  "lastUpdated": "2026-11-07T16:05:00Z",
  "updatedBy": "Claude (deployment thread)",
  "howToUpdate": "Official status changes only through a commit to data/status.json in the source repository, followed by a redeploy. The website has no write endpoint.",
  "repository": "https://github.com/edgarbirlew-source/perceptifx (pending: repository not created yet; the commit shown here is held locally and will be pushed unchanged)",
  "whatWorksToday": [
    "Workspace view: both demo jobs with what the agent sees, how it reads it, and its next action.",
    "Production demo: replay of a document-acquisition run where the saved \"PDF\" is really a login page; the verifier catches it, hands off to a person, resumes, and checks type, source, title, edition and effective date before finishing.",
    "QC demo: four simulated ModelForge-style car-body cases; the agent reports only what it inspected, asks for more views and a measurement, and separates \"not visible\" from \"missing\".",
    "Learning demo: mark a finding wrong, record the correction, get two proposed lessons, run evaluator tests on held-out, counterexample and regression cases, activate the passing lesson, reject the failing one, roll back.",
    "Pause, take over, replay from start, and correct the agent.",
    "Demo state persists across reloads in the same browser; each browser has its own isolated copy; Reset demo (two taps) restores the seed.",
    "Evidence view with the demo trail and the automated test results.",
    "This status page, readable as HTML, JSON (/status.json) and plain text (/status.txt)."
  ],
  "behavior": [
    {
      "element": "Production observations, interpretations and next actions",
      "kind": "REPLAY",
      "note": "Predetermined fixture text. No website is contacted."
    },
    {
      "element": "Login-page detection",
      "kind": "SCRIPTED",
      "note": "Step 3 always fails by design; no real file parsing."
    },
    {
      "element": "SHA-256 values",
      "kind": "PROTOTYPE",
      "note": "Really computed in the browser, but only over fixture byte strings."
    },
    {
      "element": "\"Sample County\" document details",
      "kind": "SIMULATED",
      "note": "Fictional jurisdiction and file."
    },
    {
      "element": "QC views and gap measurements",
      "kind": "SIMULATED",
      "note": "Drawn from fixture parameters; not captured images, real ModelForge renders, or measured geometry."
    },
    {
      "element": "QC judgment",
      "kind": "SCRIPTED",
      "note": "A fixed rule function. Deterministic, not a model."
    },
    {
      "element": "Lesson proposals L-001 and L-002",
      "kind": "SCRIPTED",
      "note": "Predetermined text, triggered only by the MF-001 correction."
    },
    {
      "element": "Lesson evaluation, activation gate, rollback, history",
      "kind": "PROTOTYPE",
      "note": "Real logic running over the scripted rules. It shows the lifecycle, not that a model learns or generalizes."
    },
    {
      "element": "Your corrections and demo actions",
      "kind": "PROTOTYPE",
      "note": "Stored verbatim in your browser only. Never sent anywhere."
    },
    {
      "element": "Anything live or autonomous",
      "kind": "NONE",
      "note": "No live automation, no live model, no third-party site access in this release."
    }
  ],
  "lanes": [
    {
      "group": "Research",
      "name": "Viability",
      "defined": 4,
      "met": 3,
      "status": "Summary, live-state record and competency skeleton saved; waiting for Edgar's read (review, not a gate)."
    },
    {
      "group": "Research",
      "name": "Technical research",
      "defined": 6,
      "met": 0,
      "status": "Items T1–T6 defined, none accepted."
    },
    {
      "group": "Research",
      "name": "Market research",
      "defined": 3,
      "met": 0,
      "status": "Items M1–M3 defined, none accepted."
    },
    {
      "group": "Research",
      "name": "Legal / access research",
      "defined": 4,
      "met": 0,
      "status": "Items L1–L4 defined, none accepted."
    },
    {
      "group": "Research",
      "name": "Benchmarks",
      "defined": 4,
      "met": 0,
      "status": "Items B1–B4 defined, none accepted."
    },
    {
      "group": "Prototype",
      "name": "Interactive prototype",
      "defined": 8,
      "met": 7,
      "status": "7 of 8 items have author-run test evidence (50/50 automated checks against the same build, served by the same Railway function code, on a local server). P8 is partly verified: outside browsers load the public site (Railway request log: HTTP 200 for /, 308 for www), but the full automated suite has not yet been run against https://perceptifx.com. Independent reproduction and Edgar's review are open."
    },
    {
      "group": "Production",
      "name": "Production build",
      "defined": 0,
      "met": 0,
      "status": "Not started — gated on research and owner approval per feature."
    }
  ],
  "prototypeAcceptance": [
    {
      "id": "P1",
      "item": "Operator console with Workspace, Production, QC, Learning, Evidence and plain-English status",
      "result": "MET",
      "evidence": "Automated tests W1–W3 (all views open from a fresh browser)"
    },
    {
      "id": "P2",
      "item": "Agent shows observation, interpretation and next action; reviewer can pause, correct, take over",
      "result": "MET",
      "evidence": "Automated tests T10a–T10d, W4"
    },
    {
      "id": "P3",
      "item": "Replay of a document-acquisition run with a login page saved as \"PDF\" and the verifier catching it",
      "result": "MET",
      "evidence": "Automated tests T10a–T10d"
    },
    {
      "id": "P4",
      "item": "QC case: first view \"no defect\", agent requests more views, then confirmed or insufficient-evidence states",
      "result": "MET",
      "evidence": "Automated tests T1–T1c, T6b–T6d, T7, T8"
    },
    {
      "id": "P5",
      "item": "Correction captured, scoped lesson proposed, tested on held-out and counterexample, activate or reject, rollback",
      "result": "MET",
      "evidence": "Automated tests T2a–T9e"
    },
    {
      "id": "P6",
      "item": "Persistence across reloads and a reset control",
      "result": "MET",
      "evidence": "Automated tests T11a–T12b"
    },
    {
      "id": "P7",
      "item": "Every element labeled; nothing presented as live",
      "result": "MET",
      "evidence": "Automated tests L1–L2 (release label visible in every view)"
    },
    {
      "id": "P8",
      "item": "Verified access instructions: the link opens and can be operated",
      "result": "PARTIAL",
      "evidence": "Railway request log shows outside browsers receiving HTTP 200 from https://perceptifx.com and 308 from www; certificate valid per Railway. Full automated run against the public URL pending (the test environment's network policy blocks the host)."
    }
  ],
  "knownLimitations": [
    "Everything in the demos is scripted, simulated or replayed. No live agent, model, website or file is involved.",
    "Lesson proposals exist only for the MF-001 mirror correction; other corrections are recorded but produce no lesson.",
    "Demo state lives in each visitor's browser only. Private windows and cleared site data lose it, and it does not follow you to another device.",
    "The ModelForge cases are stand-ins drawn from parameters, not verified ModelForge renders or geometry.",
    "Edgar's earlier corrections in the private Claude artifact are not copied into this public build.",
    "The page loads fonts from Google Fonts; without them it falls back to system fonts.",
    "Latest automated test results were produced against the identical build on a local server, not yet against the public URL."
  ],
  "knownDefects": [],
  "activeWork": [
    {
      "work": "Source repository on GitHub",
      "responsible": "Claude (deployment thread); Edgar creates the empty repository",
      "blocker": "This agent session is not permitted to create GitHub repositories. The source and its commit history are ready to push.",
      "next": "Edgar creates an empty private repository edgarbirlew-source/perceptifx; Claude pushes the existing commits and connects Vercel to it."
    },
    {
      "work": "Run the automated test suite against https://perceptifx.com",
      "responsible": "Claude (deployment thread)",
      "blocker": "The test environment's network policy does not allow perceptifx.com.",
      "next": "Allow perceptifx.com in the cloud environment's network settings, or have another agent run tests/public-site.test.js against the public URL."
    },
    {
      "work": "Independent reproduction of the prototype tests",
      "responsible": "Unassigned (ChatGPT/Kathy or Tom/Perplexity)",
      "blocker": "None",
      "next": "Open https://perceptifx.com, follow the steps under What works today, and compare with the test results."
    },
    {
      "work": "Technical research T1–T6",
      "responsible": "Claude coordinating; Perplexity capacity to be confirmed",
      "blocker": "None recorded",
      "next": "Start T1 primary-source review of computer-use reliability and cost per task."
    }
  ],
  "ownerGates": [
    {
      "id": "G1",
      "gate": "Repository and hosting for the prototype",
      "state": "Approved by Edgar on 2026-11-07 for this prototype release (hosting on the existing Vercel team, no new paid plan)."
    },
    {
      "id": "G2",
      "gate": "Point perceptifx.com at a host",
      "state": "Approved by Edgar on 2026-11-07 for this prototype release."
    },
    {
      "id": "G3",
      "gate": "Any spend (hardware, hosted browsers, paid APIs)",
      "state": "Not approved."
    },
    {
      "id": "G4",
      "gate": "Live automation against third-party websites",
      "state": "Not approved."
    },
    {
      "id": "G5",
      "gate": "Expanding autonomy beyond supervised",
      "state": "Not approved."
    },
    {
      "id": "G6",
      "gate": "Outbound messages or commitments",
      "state": "Always owner-sent."
    }
  ],
  "nextAction": "Push the source to GitHub as soon as the repository exists, then begin technical research item T1.",
  "version": {
    "release": "0.1.2",
    "commit": "091c2e186e816d3bc32b72565d0a1b96f61a96c4",
    "dirty": false,
    "repository": "https://github.com/edgarbirlew-source/perceptifx (pending: repository not created yet; the commit shown here is held locally and will be pushed unchanged)",
    "builtAt": "2026-11-07T15:44:42.618Z",
    "label": "Interactive prototype — scripted demonstrations using simulated/replay data.",
    "hosting": "railway:perceptifx/perceptifx-web",
    "deploymentId": "11e0b7b1-beb9-435f-ae4f-50777f8a980b"
  }
}