Skip to content

Commit cdb9fae

Browse files
committed
feat: show reproducible Commons fixture evidence
1 parent f6cc442 commit cdb9fae

12 files changed

Lines changed: 150 additions & 22 deletions

‎docs/CONTEXT.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ Recheck these observations before acting:
8484
- Existing Commons run 49092854-f9bd-4b7a-8d12-4ac5ea0e5f70 retains the approved,
8585
unmerged safe-timer change from job 811bdb98-bcbb-4b65-80b9-f19693aef6b4.
8686
Preserve it. 29 earlier lab experiments were verified before this release work.
87-
- Public source: antropos17/commit-zero at 9a3fa76 (05:26 UTC), CI green; use clean .cache/publication and preserve histories.
87+
- Public source: antropos17/commit-zero at f6cc442 (05:44 UTC), CI green; use clean .cache/publication and preserve histories.
8888
README GIF is a 15.8s condensed walkthrough of retained Sequence Kit work,
8989
not a continuous live recording. Static fallback included; desktop/mobile and all
9090
three CI jobs passed. Evidence: runtime/verification/github-readme-gif-2026-10-19.json.

‎docs/HANDOFF-2026-10-19.md‎

Lines changed: 24 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -8,17 +8,17 @@ tracks dated decisions and receipts; this file is the operational entry point.
88
## Repositories and state
99

1010
- Working repository: `X:\ai-github`, branch `codex/development-foundation`,
11-
latest fully checked local commit `0e028aa` at this checkpoint. The local data and model
11+
latest fully checked local commit `791e4b6` at this checkpoint. The local data and model
1212
installation are here. Recheck status before acting; this file can age.
1313
- Public repository: [antropos17/commit-zero](https://github.com/antropos17/commit-zero),
14-
`main` at `9a3fa763d8e67b487a50da6d416a922c562417be` after a normal push.
14+
`main` at `f6cc44257d9de68444ad4bd359a4ee26865f6bc4` after a normal push.
1515
Its separate checkout is `.cache/publication`. The histories are unrelated;
16-
the public tree matches local `0e028aa` (`25202319fa6e12539b79cd41515d6f0502656ae4`).
17-
Mobile catalog focus, project recovery, and bookmark rate-limit feedback are pending a full gate.
16+
the public tree matches local `791e4b6` (`d7e0c1c04be4abc8d1a12252f3ae1dad0f034efa`).
17+
The read-only Commons example and archive/export browser coverage are pending a full gate.
1818
Do not merge histories, reset the local branch or force push. Recheck remote
1919
before publishing anything else.
20-
- Public CI [run 39204566088](https://github.com/antropos17/commit-zero/actions/runs/39204566088)
21-
passed all three jobs for `9a3fa76`: full gate, Chromium and runtime
20+
- Public CI [run 39205979750](https://github.com/antropos17/commit-zero/actions/runs/39205979750)
21+
passed all three jobs for `f6cc442`: full gate, Chromium and runtime
2222
dependency audit.
2323
- This mission has not run local or hosted model inference, spawned product
2424
agents, submitted promotional posts or created a new release. Prior retained
@@ -86,19 +86,23 @@ Timer proposal from job `811bdb98-bcbb-4b65-80b9-f19693aef6b4`. Preserve it.
8686
Node tests from listed Playwright specs. A pending
8787
[hosted-provider draft](PROVIDER-DRAFTS.md) prepares disconnected text-only
8888
request/response contracts for Anthropic, OpenAI, Google and Mistral.
89-
7. The pending mobile catalog change focuses and scrolls to selected role
89+
7. The mobile catalog focuses and scrolls to selected role
9090
requirements at 390px. A Chrome duplicate-project fixture confirms form
9191
preservation and address correction without inference. A bookmark HTTP 429
9292
now has a persistent local error and a retry that can reach HTTP 200.
9393
Browser specs use two serial fresh-service groups so the ordinary 180/minute
9494
limiter is not exhausted by earlier test files.
95+
8. A pending Environment section presents the source-controlled seed-17
96+
[Commons fixture](SIMULATIONS.md) as read-only, explicitly simulated evidence.
97+
The simulation test compares this JSON to a fresh HTTP reproduction. A
98+
Chrome model-free archive/export/restore journey retains its first issue.
9599

96100
## Evidence and limits
97101

98-
- Latest local frozen full gate at `0e028aa`: 66/66 Node tests, compiled DOM/axe
102+
- Latest local frozen full gate at `791e4b6`: 66/66 Node tests, compiled DOM/axe
99103
2/2, build and static serving passed. Stable source hash
100-
`571d5118304357718a507c3fe0b7384f645288d4b4b6e45efde76c923b8bc78b`;
101-
receipt `runtime/verification/provider-drafts-full-2026-10-19.json` (ignored by Git).
104+
`14727701ef13a699e8826003c2658ea4255ff24fab3cafa810b18d5a415be5b4`;
105+
receipt `runtime/verification/mobile-recovery-full-2026-10-19.json` (ignored by Git).
102106
- Installed Chrome browser suite passed 7/7 at desktop and 390px. Real captures
103107
are `runtime/verification/commons-first-run-{desktop,narrow}-2026-10-19.png`,
104108
`commons-provider-offline-desktop-2026-10-19.png` and catalog captures. Tests
@@ -112,12 +116,14 @@ Timer proposal from job `811bdb98-bcbb-4b65-80b9-f19693aef6b4`. Preserve it.
112116
were published at `0ae079d`, with all three public CI jobs passing. The
113117
disconnected hosted-provider drafts passed the full gate and public CI at
114118
`9a3fa76`; they have no credential, transport or runtime qualification. The
115-
pending mobile catalog and duplicate-address browser unit passed 2/2 targeted
116-
Chrome tests, and `check:ui` passed. One shared-cluster Chrome run failed 7/8
117-
on a genuine HTTP 429; fresh service groups passed 8/8 twice with the normal
118-
limiter. The bookmark 429 → 200 fixture passed at 390px with axe. Its actual
119-
[browser capture](media/bookmark-rate-limit-2026-10-19.png) is a routed
120-
disposable-server failure, not a model or load result. The full gate remains.
119+
mobile catalog/bookmark recovery passed grouped Chrome 8/8 and the public
120+
full gate at `f6cc442`. A prior shared-cluster run failed 7/8 on genuine
121+
HTTP 429; fresh service groups retain the normal limiter. The bookmark
122+
429 → 200 fixture passed at 390px with axe. Its actual [browser capture](media/bookmark-rate-limit-2026-10-19.png)
123+
is a routed disposable-server failure, not a model or load result. A pending
124+
[Environment capture](media/environment-fixture-2026-10-19.png) shows the
125+
read-only fixture. `check:commons` passed 24/24, `check:ui` passed, and grouped
126+
Chrome passed 9/9 including archive/export/restore. The full gate remains.
121127
- `npm run benchmark:backend` used a disposable PGlite snapshot of five projects
122128
and 1,000 messages. Twenty samples per path: current normalized message-write
123129
p50 9.09 ms versus retained legacy pattern 42.99 ms. This verifies a prior
@@ -131,7 +137,7 @@ Timer proposal from job `811bdb98-bcbb-4b65-80b9-f19693aef6b4`. Preserve it.
131137

132138
## Next work, in order
133139

134-
1. Complete the mobile catalog/browser unit: run grouped Chrome and `npm run check` on frozen source,
140+
1. Complete the fixture UI/archive unit: run focused Commons/UI, grouped Chrome and `npm run check` on frozen source,
135141
commit it, copy the unpublished local commit into the separate public
136142
checkout, compare Git trees, push without force and inspect public CI.
137143
Record exact SHA and receipt.
@@ -163,7 +169,7 @@ Timer proposal from job `811bdb98-bcbb-4b65-80b9-f19693aef6b4`. Preserve it.
163169
> `docs/HANDOFF-2026-10-19.md`, and `docs/MISSION-2026-10-19.md`. Recheck Git
164170
> state and `npm run doctor`; use `npm run map -- <area>`. Preserve all runtime
165171
> data, credentials, earlier model receipts, and separate Git histories.
166-
> First confirm public CI for `9a3fa76` and complete any dirty mobile catalog or
172+
> First confirm public CI for `f6cc442` and complete any dirty fixture UI or
167173
> handoff unit. Then reproduce and improve one
168174
> concrete browser or transaction journey, using focused checks and the full
169175
> `npm run check` on frozen source. Keep model-backed catalog roles disabled;

‎docs/MISSION-2026-10-19.md‎

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ Start: 03:46:17 UTC. Deadline: 15:46:17 UTC. Final integration reserve begins 14
1212

1313
## Current action
1414

15-
Finish the mobile catalog, duplicate-project and bookmark rate-limit recovery unit. Run the grouped full Chrome suite and frozen full gate; commit and publish after tree comparison. Continue inspecting real user journeys.
15+
Finish a read-only seeded Commons evidence section and browser coverage for project archive, export and restore. Run focused Commons/UI and grouped Chrome, then the frozen full gate. Commit and publish with tree comparison.
1616

1717
## Decisions and limits
1818

@@ -50,7 +50,9 @@ Finish the mobile catalog, duplicate-project and bookmark rate-limit recovery un
5050
- 05:30 UTC: inspection of the actual 390px catalog layout found that details are placed above the list; selecting a role from lower in the list left the newly selected details offscreen. The selected heading now receives focus and instant scroll on narrow widths; desktop stays side by side. A new Chrome scenario verified duplicate project-address error preserves name/description and succeeds after correcting the address. Targeted Chrome checks passed 2/2 with axe and no page errors. Focused UI, full browser and full gate remain.
5151
- 05:35 UTC: `check:ui` passed, then the expanded one-cluster Chrome suite failed 7/8: bookmark PUT returned real HTTP 429 after preceding fixture requests. Isolated bookmark spec passed. A second instrumented full run confirmed 429. Browser specs now run in two serial fresh-service groups, each retaining the normal 180/minute limiter; full Chrome passed 8/8. The bookmark control now retains a visible local error for 429 and supports an explicit retry; a routed 429 → real 200 fixture passed alone.
5252
- 05:42 UTC: after adding narrow/axe coverage to the HTTP 429 state, `check:ui` and the grouped Chrome suite passed again (8/8). Actual 390px capture `docs/media/bookmark-rate-limit-2026-10-19.png` matches ignored runtime evidence by SHA-256 `b842ad70`; its fixture route returns 429 only once, then the local service returns 200. `npm run diagnostics`: 83 GB free, `.cache` 918 MB, retained stores/backups/models preserved. Full frozen gate remains.
53+
- 05:44 UTC: mobile/error-recovery unit committed locally as `791e4b6` after frozen full gate 66/66 (source hash `14727701`). All 19 changed files matched by SHA-256 and the Git trees matched at `d7e0c1c`; normal push advanced public `main` to `f6cc442`. [CI run 39205979750](https://github.com/antropos17/commit-zero/actions/runs/39205979750) passed full gate, Chromium and runtime dependency audit.
54+
- 05:47 UTC: real Chrome verified a model-free project can be archived, exported as JSON with its issue intact, then restored and reloaded. The shared seed-17 Commons example is now a read-only Environment section with explicit fixture/no-inference labels. Its committed JSON matches a fresh HTTP simulation in the existing test; targeted Chrome/axe checked the 390px view. Actual capture `docs/media/environment-fixture-2026-10-19.png` matches ignored runtime PNG by SHA-256 `9d88aafe`. `check:commons` passed 24/24, `check:ui` passed, and grouped Chrome passed 9/9. Full gate remains.
5355

5456
## Next checkpoint
5557

56-
Run frozen `npm run check` for this UI/recovery unit, then commit and publish through the separate checkout after tree comparison. Continue bounded implementation. Keep the final 90-minute reserve from 14:16:17 UTC.
58+
Run frozen `npm run check` for simulation evidence and archive/export coverage, then commit and publish through the separate checkout after tree comparison. Continue bounded implementation. Keep the final 90-minute reserve from 14:16:17 UTC.

‎docs/SIMULATIONS.md‎

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,15 @@ carry `test_fixture` provenance. The script asserts, rather than merely prints:
2929
`node --test tests/simulate-commons.test.mjs` replays the same seed twice and
3030
compares the normalized reports. It runs a larger history with another seed and
3131
checks a distinct merged source hash and additional cursor pages. Invalid seeds
32-
and history sizes are rejected before opening a store. The fixture code is a source-controlled reproduction tool, not evidence
32+
and history sizes are rejected before opening a store. The seed-17 output is
33+
stored as `shared/commons-fixture-seed17.json`, and the same test compares it
34+
with a fresh HTTP simulation result. The Environment page displays its selected
35+
outcomes under **Seeded Commons example** with fixture actor and no-inference
36+
labels. It is a read-only sample, separate from both the retained user store
37+
and the original scenario. This [actual narrow Chrome capture](media/environment-fixture-2026-10-19.png)
38+
shows that view; the sample was generated by the command above, not by a model.
39+
40+
The fixture code is a source-controlled reproduction tool, not evidence
3341
of model quality or autonomous collaboration. It neither executes generated
3442
JavaScript nor qualifies an arbitrary-code sandbox. For actual model history,
3543
read the preserved Commons run and its inference receipts separately.
148 KB
Loading

‎prototype/app/app.css‎

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3221,6 +3221,15 @@ textarea::placeholder {
32213221
.sandbox-layout .service-list {
32223222
margin-bottom: 20px;
32233223
}
3224+
.commons-fixture-summary {
3225+
margin-top: 24px;
3226+
padding-top: 20px;
3227+
border-top: 1px solid var(--border);
3228+
}
3229+
.commons-fixture-summary h2 {
3230+
font-size: var(--type-section);
3231+
margin: 0 0 12px;
3232+
}
32243233
.search-section:first-child {
32253234
margin-top: 0;
32263235
}

‎prototype/app/pages/workspace.jsx‎

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import React, { useState } from "react";
1313
import { useAccount, useResource, useWorkspace } from "../hooks.mjs";
1414
import { path, replaceRoute } from "../router.mjs";
1515
import { stages, before, after } from "../../../shared/scenario.mjs";
16+
import commonsFixture from "../../../shared/commons-fixture-seed17.json";
1617
import { TimelineFeed } from "./timeline.jsx";
1718
import {
1819
Avatar,
@@ -1183,6 +1184,23 @@ export function Environment() {
11831184
Docker daemon. Runtime denial, timeout, cancellation, and artifact
11841185
capture must pass before activation.
11851186
</p>
1187+
<section className="commons-fixture-summary" aria-label="Seeded Commons example">
1188+
<h2>Seeded Commons example</h2>
1189+
<p>
1190+
Fixture only · seed {commonsFixture.seed} · no model inference or
1191+
saved user-history write. These outcomes come from the isolated
1192+
Commons HTTP reproduction.
1193+
</p>
1194+
<p>{commonsFixture.actorLabels.join(" · ")}</p>
1195+
<ul className="plain-list">
1196+
<li>Stale edit: HTTP {commonsFixture.outcomes.staleRevisionStatus}; no extra write.</li>
1197+
<li>Rejected review: {commonsFixture.outcomes.rejectedReview}; merge HTTP {commonsFixture.outcomes.rejectedMergeStatus}.</li>
1198+
<li>Approved fixture merge: project v{commonsFixture.outcomes.acceptedMergeVersion}.</li>
1199+
<li>Failure, explicit retry and cancellation: {commonsFixture.outcomes.providerFailure}, {commonsFixture.outcomes.explicitRetry}, {commonsFixture.outcomes.cancelled}.</li>
1200+
<li>{commonsFixture.outcomes.events} events across {commonsFixture.outcomes.pages} cursor pages; interrupted job recovered.</li>
1201+
</ul>
1202+
<p>Reproduce: <code>npm run simulate:commons -- --seed {commonsFixture.seed}</code></p>
1203+
</section>
11861204
</section>
11871205
<aside className="page-support" aria-label="Execution boundaries">
11881206
<h2>Boundaries</h2>

‎scripts/project-map.mjs‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ export const areas = {
3939
"shared/agent-catalog.mjs",
4040
"shared/agent-evaluation.mjs",
4141
"shared/provider-drafts.mjs",
42+
"shared/commons-fixture-seed17.json",
4243
"db/migrations/003_commons.sql",
4344
"db/migrations/004_commons_storage.sql",
4445
"db/migrations/005_commons_issues.sql",

‎shared/commons-fixture-seed17.json‎

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
{
2+
"kind": "deterministic-commons-fixture",
3+
"seed": 17,
4+
"historyCount": 8,
5+
"modelInference": false,
6+
"persistedUserData": false,
7+
"actorLabels": [
8+
"simulated operator",
9+
"Fixture Ada (no model)",
10+
"Fixture Ben (no model)",
11+
"simulated reviewer"
12+
],
13+
"outcomes": {
14+
"staleRevisionStatus": 409,
15+
"unavailableCapabilityStatus": 503,
16+
"rejectedReview": "changes-requested",
17+
"rejectedMergeStatus": 409,
18+
"acceptedMergeVersion": 1,
19+
"acceptedSourceHash": "8a80aa465ff0ac7b017e240efc7fcbb93d744b1f8a139839bfa9a418957d318e",
20+
"providerFailure": "failed",
21+
"explicitRetry": "completed",
22+
"invalidOutput": "failed-without-pr",
23+
"timeout": "failed-without-pr",
24+
"cancelled": "cancelled",
25+
"events": 48,
26+
"pages": 16,
27+
"scenarioRevisionPreserved": true,
28+
"interruptedRecovery": true
29+
}
30+
}

‎tests/browser/agent-catalog.spec.mjs‎

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,12 @@ test("disabled role catalog stays inspectable at desktop and narrow widths", asy
5050
await page.goto("/#/sandbox");
5151
await expect(page.getByRole("heading", { name: "Code runner readiness" })).toBeVisible();
5252
await expect(page.locator("main")).toContainText("Docker execution is not connected");
53+
await expect(page.getByRole("region", { name: "Seeded Commons example" }))
54+
.toContainText("Fixture only · seed 17 · no model inference");
55+
await expect(page.getByRole("region", { name: "Seeded Commons example" }))
56+
.toContainText("48 events across 16 cursor pages");
5357
await expect(page.locator("main button")).toHaveCount(1);
58+
if (process.env.CZ_CAPTURE_BROWSER === "1")
59+
await page.screenshot({ path: "runtime/verification/environment-fixture-narrow-2026-10-19.png", fullPage: true });
5460
expect(errors).toEqual([]);
5561
});

0 commit comments

Comments
 (0)