Skip to content

Commit 617ac69

Browse files
committed
Recover sign-in discovery and preserve failed authentication drafts
1 parent c42faa4 commit 617ac69

12 files changed

Lines changed: 495 additions & 48 deletions

‎DESIGN.md‎

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,12 @@ distinct; only a refresh of the same scope may show explicitly last-available
103103
rows. A mismatched service snapshot asks the user to synchronize the workspace.
104104
Manual Retry/Refresh keeps keyboard entry and respects another chosen input.
105105

106+
Provider discovery has its own busy/error/retry state on the account page.
107+
Unknown or malformed sign-in options stay disabled while the local account form
108+
and navigation remain usable. Refresh preserves that form's draft. Failed local
109+
or provider sign-in restores the initiating control unless another input was
110+
chosen. Configuration discovery does not establish a successful provider login.
111+
106112
## Motion
107113

108114
No authored animation or transition in the workspace, including modal scale/fade, progress interpolation, hover motion and smooth route scrolling. Update status immediately without recreating the page. Native dialog handles focus and Escape; returning focus must not move the document. Game canvas motion belongs to gameplay and remains independent of workspace chrome.

‎docs/CONTEXT.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ and external AI CLIs require a direct user request. Never merge old work implici
8282
- Existing Commons run 49092854-f9bd-4b7a-8d12-4ac5ea0e5f70 retains the approved,
8383
unmerged safe-timer change from job 811bdb98-bcbb-4b65-80b9-f19693aef6b4.
8484
Preserve it. 29 earlier lab experiments were verified before this release work.
85-
- Public source: antropos17/commit-zero at 25a8583; all three CI jobs passed with local 7665539's identical tree. Preserve separate histories.
85+
- Public source: antropos17/commit-zero at c42faa4; all three CI jobs passed with local a13df1e's identical tree. Preserve separate histories.
8686
README GIF is a 15.8s condensed walkthrough of retained Sequence Kit work,
8787
not a continuous live recording. Static fallback included; desktop/mobile and all
8888
three CI jobs passed. Evidence: runtime/verification/github-readme-gif-2026-10-19.json.

‎docs/DISTRIBUTION.md‎

Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,14 @@ announcement posted elsewhere.
8686
> read-only large-history fixture; smaller initial DOM size is verified, while
8787
> changed snapshots still transfer the full history.
8888
>
89+
> Startup, service health, rankings and account recovery now have explicit
90+
> failure/retry behavior. Keyboard scenario stepping and pause remain usable;
91+
> saved-repository writes stay ordered across navigation and session changes.
92+
> Proposed roles include concrete downloadable fixtures and a separate unscored
93+
> evaluation set. Hosted-provider drafts remain disconnected. A read-only
94+
> artifact inspector identifies the existing Qwen file, and a source-evidence
95+
> preflight binds full/browser receipts to the exact source and public Git tree.
96+
>
8997
> The existing local Builder/Reviewer and Language lab paths remain separate
9098
> from the deterministic repository example and new fixtures. Proposal parsing
9199
> and review do not prove code behavior. Follow `README.md` for installation,
@@ -94,13 +102,14 @@ announcement posted elsewhere.
94102
Before publishing a release, replace the candidate version with an actual tag,
95103
link its exact commit and CI run, re-run the documented gates, and record real
96104
browser/model/sandbox coverage separately. No release was created by this note.
97-
Current implemented-code checkpoint: public `e788d0e`, [CI run 39228142114](https://github.com/antropos17/commit-zero/actions/runs/39228142114)
98-
passed the full gate, Chromium and runtime dependency audit. The fresh evidence
99-
preflight confirmed exact public main/CI. Local frozen gate at `e61e129` passed 81/81 Node tests, DOM/axe 2/2,
100-
build and serving with source hash
101-
`d3ab286ac18b39386976ac5278b923aebc2e4e066c7e509a26208793c3cce5e5`;
102-
separate local Chrome coverage passed 15/15 on the same hash. Health/retry changes await
103-
their full gate. Verify the final candidate revision before creating a release.
105+
Use the [dated handoff](HANDOFF-2026-10-19.md) and fresh
106+
`npm run evidence:status -- --github` output for the exact candidate SHA, source
107+
hash and CI association after frozen verification/publication. Copy those values
108+
into the release instead of carrying an earlier checkpoint's counts forward.
109+
The existing [v0.3.0 release](https://github.com/antropos17/commit-zero/releases/tag/v0.3.0)
110+
still points to `1abdf00` (checked 2026-10-19); this mission publishes newer main
111+
source and prepares the next release. Choose a new tag for that source and preserve
112+
the existing release and tag. No new release or promotional post was published.
104113
The checked capture set is already published at `98389bd`.
105114

106115
## Show HN fact sheet for a human author

‎docs/FIRST-RUN.md‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@ do not establish runtime correctness. [Complete workflow](COMMONS.md).
5959
| Rankings are unavailable | Restore the service and select **Try again** or **Refresh**. A failed category read never reuses scores from another category. Same-category refresh failures label the last available rows; an empty search is separate. |
6060
| Rankings do not match the saved scenario | Another client may have changed the run or revision. Use **Refresh workspace** in the toolbar, then retry rankings if needed. Mismatched rows stay hidden. |
6161
| A request times out or returns invalid JSON | The browser reports a recoverable error. Restore the service and retry the read; a failed write is never retried automatically. Ordinary UI requests have a 12-second active-browser-time deadline, including body reads, alongside route cancellation. |
62+
| External sign-in options are unknown or failed to load | Use **Refresh sign-in options** in the account page. The local username/password draft stays in place. Unknown or malformed provider data never enables external sign-in. Configured options still require a real OAuth flow; this read does not verify account access. |
6263
| Commons cannot reach the service | Restore the local gateway, then use **Retry**. The error settles without a busy announcement; Retry is disabled while its request is pending. Background polling can also recover once the service returns. |
6364
| Built UI is older than source | `npm start` serves `dist`; run `npm run build` after source changes, or use `npm run dev` for development. |
6465
| **Run agents** is disabled | Check that the task has text, the project is active, no task is running, and **Check model** reports available. Start the local provider if it is offline. |

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

Lines changed: 19 additions & 12 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 `7665539` at this checkpoint. The local data and model
11+
latest fully checked local commit `a13df1e` 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 `25a85839d8ec92bc1d2f349bc6b4d876e29ede1b` after a normal push.
14+
`main` at `c42faa484be0d9e068b23fd1b583f344a63e1e15` after a normal push.
1515
Its separate checkout is `.cache/publication`. The histories are unrelated;
16-
the public tree matches local `7665539` (`e31d35601cf37efc51c787cbfca8950b8849e2cb`).
17-
Scoped ranking/read-deadline changes are awaiting final gates.
16+
the public tree matches local `a13df1e` (`9a8c3381af33da4f83097347e3f8db03c083a8c5`).
17+
Account sign-in/discovery recovery changes are awaiting final gates.
1818
Do not merge histories, reset the local branch or force push. Recheck remote
1919
before publishing anything else.
20-
- Public CI [run 39235408701](https://github.com/antropos17/commit-zero/actions/runs/39235408701)
21-
passed full gate, Chromium and runtime dependency audit for `25a8583`. Local
20+
- Public CI [run 39237404863](https://github.com/antropos17/commit-zero/actions/runs/39237404863)
21+
passed full gate, Chromium and runtime dependency audit for `c42faa4`. Local
2222
`evidence:status` confirmed equal trees and current full/browser receipts. The
2323
preceding retry-fixture failure at `5f9f88e` is preserved in the mission log.
2424
- This mission has not run local or hosted model inference, spawned product
@@ -133,21 +133,28 @@ continues after a failed write, and drops unsent work after identity changes.
133133
Repository form state is scoped to run/repository; save completion respects focus.
134134
Other tabs are reconciled by explicit saved-list refresh, not cross-tab locking.
135135
Its six account Chrome tests and full 25-test browser/full gates passed before
136-
publication. The pending ranking unit keys resources by URL/revision, distinguishes
136+
publication. The completed ranking unit keys resources by URL/revision, distinguishes
137137
failure from empty results, and validates actual run/revision/category before
138138
showing rows. Four focused Chrome tests passed, including actual 12-second
139139
deadline recovery and a real newer transactional scenario revision. Four host
140140
HTTP tests cover error details, unfinished-body timeout, cancellation and invalid
141141
JSON. [Failure](media/rankings-unavailable-2026-10-19.png) and
142142
[narrow retained rows](media/rankings-last-known-2026-10-19.png) are inspected
143143
Chrome captures in disposable services with routed failures and simulated scores.
144+
Its frozen full 85/85 and Chrome 29/29 gates, then public CI, passed. The pending
145+
account-page unit validates discovery types, offers explicit Refresh without
146+
reloading the draft, scopes unknown availability, and restores failed-auth focus.
147+
Four focused Chrome tests passed, including malformed data and a routed OAuth
148+
start rejection with no external request. [Actual 390px error view](media/sign-in-discovery-unavailable-2026-10-19.png)
149+
uses an explicit fake draft and discovery failure in disposable services; real
150+
OAuth login remains unqualified.
144151

145-
- Latest local frozen full gate at `7665539`: 81/81 Node tests, compiled DOM/axe
152+
- Latest local frozen full gate at `a13df1e`: 85/85 Node tests, compiled DOM/axe
146153
2/2, build and static serving passed. Stable source hash
147-
`7ec859e49d5b90de6ba814c39b7cc6ee84d84ff79133506204945ab9bcaa623f`;
148-
receipts `runtime/verification/bookmark-writes-{full,browser}-2026-10-19.json`
154+
`71009df00efbbf03638e1258a3ea3210258e18c6fa4113f7b4a48998f953dd9a`;
155+
receipts `runtime/verification/ranking-recovery-{full,browser}-2026-10-19.json`
149156
(ignored by Git).
150-
- Installed Chrome browser suite passed 25/25 at desktop and 390px. Real captures
157+
- Installed Chrome browser suite passed 29/29 at desktop and 390px. Real captures
151158
are `runtime/verification/commons-first-run-{desktop,narrow}-2026-10-19.png`,
152159
`commons-provider-offline-desktop-2026-10-19.png` and catalog captures. Tests
153160
used in-memory services; provider-health responses were controlled in the
@@ -216,7 +223,7 @@ Chrome captures in disposable services with routed failures and simulated scores
216223

217224
## Next work, in order
218225

219-
1. Complete scoped rankings and request deadlines: run grouped Chrome and `npm run check` on frozen source,
226+
1. Complete account sign-in/discovery recovery: run grouped Chrome and `npm run check` on frozen source,
220227
commit it, copy the unpublished local commit into the separate public
221228
checkout, compare Git trees, push without force and inspect public CI.
222229
Record exact SHA and receipt.

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

Lines changed: 6 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 scoped ranking recovery and ordinary request deadlines after three preserved Chrome failures. Retain data only within the same URL/revision, distinguish failure from empty results, verify returned ranking run/version/category, and combine route cancellation with the existing 12-second request/body deadline. Four host HTTP tests and four focused Chrome tests passed; run final focused/full gates and publish. Keep all new profiles disabled. The final integration reserve still begins at 14:16:17 UTC.
15+
Finish account sign-in/discovery recovery after three preserved Chrome failures. Keep local drafts/navigation through failed or malformed discovery, offer explicit refresh with unknown availability, and restore failed-auth focus. Four focused Chrome tests passed with no external provider request; complete frozen full gates and publication. Keep all new profiles disabled. The final integration reserve still begins at 14:16:17 UTC.
1616

1717
## Decisions and limits
1818

@@ -100,4 +100,8 @@ Finish scoped ranking recovery and ordinary request deadlines after three preser
100100
- Chrome then reproduced a failed initial ranking labeled as an empty search, Overall rows remaining under a failed Code category, and a caller-cancellable read that stayed pending beyond the ordinary deadline. Baselines: `runtime/verification/ranking-state-baseline-2026-10-19` and `ranking-deadline-baseline-2026-10-19`. Scoped resources, explicit states and combined timeout/cancellation passed four focused Chrome tests; an actual 12-second foreground timeout recovered, and a real newer API revision required workspace synchronization before rows returned. Four host HTTP tests passed, including an unfinished body. Inspected actual captures copied to docs/media have SHA-256 `fad7ddf7` and `14840d06`. No inference or retained-store write.
101101
- Bounded primary research on GitHub Copilot's task/review workflow, Dev Containers metadata and Ollama model information reinforced existing scope/identity/runtime boundaries; no extra delegation, container configuration or provider was added. [Decisions and sources](ECOSYSTEM-DECISIONS.md). The dated older agent-native research now points explicitly to current operational documents without rewriting historical evidence.
102102

103-
Complete focused UI, then freeze all source for the full 29-test browser suite and `npm run check`; commit/publish and inspect CI. Next inspect first-run provider-discovery recovery and release acceptance gaps. Keep the final 90-minute reserve from 14:16:17 UTC.
103+
- 10:26 UTC: scoped ranking recovery/request deadlines committed locally as `a13df1ee1dcc251b38b33721dcda7730b674fa48` after full 85/85 and Chrome 29/29 on frozen hash `71009df00efbbf03638e1258a3ea3210258e18c6fa4113f7b4a48998f953dd9a`. Receipts: `runtime/verification/ranking-recovery-{full,browser,evidence}-2026-10-19.json`. Normal push produced `c42faa484be0d9e068b23fd1b583f344a63e1e15`, identical tree `9a8c3381af33da4f83097347e3f8db03c083a8c5`. CI39237404863 passed all three jobs.
104+
- Chrome exposed a discovery error with no in-page repeat, malformed provider data replacing the workspace with its global error boundary, and a failed local sign-in losing keyboard focus. Baselines: `runtime/verification/auth-discovery-baseline-2026-10-19`, `auth-discovery-malformed-baseline-2026-10-19`, and `auth-submit-focus-baseline-2026-10-19`. Validation and scoped refresh/auth focus now passed four focused Chrome tests, including strict boolean availability, retained drafts and a routed OAuth-start failure with zero external requests. The inspected 390px capture is `docs/media/sign-in-discovery-unavailable-2026-10-19.png`, SHA-256 `04d44a2d`. No real OAuth login was attempted.
105+
- The existing public latest-release URL was checked: it resolves to v0.3.0 at `1abdf00`. Distribution notes now preserve that tag and request a new tag for the mission's newer main source. The earlier hardcoded release checkpoint was replaced by the live source-evidence workflow. No release or promotional post was created.
106+
107+
Complete focused UI, then freeze all source for the full 33-test browser suite and `npm run check`; commit/publish and inspect CI. Next assess a reversible publication-preparation command against the observed repeated manual-copy workflow and remaining release gaps. Keep the final 90-minute reserve from 14:16:17 UTC.

‎docs/OAUTH.md‎

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,15 @@ buttons stay disabled until both credentials for that provider are configured.
66
Local username/password accounts remain usable. Automated tests use a mocked
77
provider transport; they do not qualify a real provider login.
88

9+
On the account page, **Refresh sign-in options** rereads this server's provider
10+
configuration without reloading the local username/password draft. Failed or
11+
malformed discovery shows unknown availability and keeps external buttons
12+
disabled; it does not remove the local form or navigation. The refresh has scoped
13+
busy state and restores keyboard entry while respecting another selected input.
14+
A failed local sign-in or provider start also preserves the draft and its control.
15+
This UI recovery is tested in disposable services; the configured-only fixture
16+
and denied start do not establish actual GitHub/Google account access.
17+
918
## Configure the local preview
1019

1120
1. Create an OAuth application in your own GitHub/Google account using the settings
95.4 KB
Loading

0 commit comments

Comments
 (0)