Repository navigation
Docs: record the Brain activation and correct project status - #53
Conversation
…ns, wikifunctions
…eed two reviewers
…s stay open, RDF link, inference wording
|
Review status: merged in Update 2026-10-15: merged at
Original review (2026-10-14)Independent adversarial review of Verdict: this is the right PR, and the activation record and status corrections check out. The last commit, though, records approvals that were never given, and the reconcile steps fail as written. Required before merge
Decisions for the maintainer
Merge order: fix, merge #53 and then #60, merge before building release B, and reconcile before pulling #54. Fixes are in progress; this comment will be updated. Posted by the WikiLean PR swarm (lead); updated 2026-10-15. |
Status review (2026-10-14): 🔧 Fix before mergeMost claims check out against main and production, and this PR changes no Worker or release bytes. The headline status, though, is out of date. Fix before merge
Nits
Cross-PR wording
Order: merge with a merge commit, not squash or rebase, or #60 conflicts in 3 files. Then retarget #60 to 🤖 Automated status pass by Claude Code over all 18 open PRs (#46–#63), posted for the repo owner. An independent verifier re-checked each finding. All 18 heads were also merged and tested together in a scratch tree; the only test failure that comes from combining them is #47 × #55 (three other pairs had mechanical text conflicts). Reviewed head: |
ROADMAP leaves the P1B host-context approval box open and nothing records that approval, so restore the "still needs Jack's approval" wording that the previous review commit changed to "approved": - docs/BRAIN-RELEASE-RUNBOOK.md: P1B host context and evidence generation - site/ops/README.md: bundle host-context sentence - brain/authority/README.md: bundle host-context sentence Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ree rules - CLAUDE.md / AGENTS.md: SQLite has no ADD COLUMN IF NOT EXISTS, so an ALTER TABLE ... ADD COLUMN migration may be non-idempotent when its header says so and the operator verifies it after applying (pragma_table_info). The two files stay identical except line 1. - CONTRIBUTING.md: the nightly resolver decides only R1 (no delta, reject), R2 (verified rename, approve) and R3 (proof_wanted to partial, approve); every other proposal stays pending for a patroller. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The deployment journal's final_state for attempt 20261004T172504Z-8305822b0083-27c7c461cb is deployed_reconciled at 2026-10-08T06:58:30Z (Worker deployment 499ba4bf, version 63b11a7e), so no incomplete attempt blocks promotion. - README, runbook header and Deploy banner, site/ops/README, BRAIN-SQLITE-HANDOFF: the attempt is reconciled, not open. - Activation record: reconciliation in the timeline and attempt section; fill the outcome and candidate Worker IDs in the operator table; host, receipt-root and backup rows point at the private journal. - ROADMAP: drop the reconcile item from Waiting on Jack and the immediate queue, update P1C and the 2026-10-04/2026-10-08 log entries. - Keep the caveat for future attempts: reconciliation needs wiki/wrangler.jsonc and the Node/Wrangler toolchain to match the intent byte for byte. - ROADMAP 2026-10-13 entry: the review step runs but has failed on every article since 2026-09-18. - Labels: d2926a43 is a Worker version ID; bfcfc912 is the semantic baseline release ID and 8328d804 its manifest SHA-256. - README: fix the two CONTRIBUTING.md heading anchors. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ngler tree reconcile() checks the installed Wrangler dependency tree (package-lock.json and node_modules) and the executables' paths, not just wrangler.jsonc and the toolchain versions. Say so, and name the actions that break it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Fixes pushed (2026-10-14)This addresses findings from the "Status review (2026-10-14)" comment and the PR swarm's review: the reconciled attempt, the reconcile conditions for future attempts, the host-context gate, the migration rule, the resolver scope and the 2026-10-13 review entry. What changed
Verification
Not changed / still open
Merge notes
🤖 Posted by Claude Code for the repo owner. An independent verifier checked the fixes through |
…pients With #58 the local backup script encrypts and refuses to run without `age` and BACKUP_AGE_RECIPIENTS, and `npm run` needs the wiki/ directory. Say so where the migration procedure asks for the backup. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Docs: archive superseded docs
…row agent wrangler rules Production deploys go only through the Brain release promoter (#53), so a guarded manual `npm run deploy` contradicted that policy, and its guard could be bypassed and checked only two files of the tree it uploads. - `npm run deploy` now prints where deploys go and exits 1. scripts/deploy.ts and its test are gone. - GET /api/version drops git_sha/git_dirty and WIKILEAN_GIT_SHA. Only the deleted script set the stamp, so it would always be null. The route keeps the Worker Version metadata and the Brain release id, manifest digest and authority commit. Comments call the promoter's brain-<hex12>-<attempt> tag evidence of a promoter deploy, not proof. - AGENTS.md, CLAUDE.md, wiki/README.md, the release runbook and the activation record now say `npm run deploy` refuses and never to run `wrangler deploy` directly. They name `wrangler rollback` as the only emergency lever, and say a forward hotfix path would be a journaled promoter mode. - .claude/settings.json: drop the pre-approved env-prefixed bare `npx wrangler deploy`. Replace `npx wrangler *` with read-only deployments/versions/tail/whoami rules and local-only `d1 execute --local`, with an ask rule on any `--remote`. Deny deploy, versions deploy/upload, rollback and secret put/delete/bulk for agent sessions. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…row agent wrangler rules Production deploys go only through the Brain release promoter (#53), so a guarded manual `npm run deploy` contradicted that policy, and its guard could be bypassed and checked only two files of the tree it uploads. - `npm run deploy` now prints where deploys go and exits 1. scripts/deploy.ts and its test are gone. - GET /api/version drops git_sha/git_dirty and WIKILEAN_GIT_SHA. Only the deleted script set the stamp, so it would always be null. The route keeps the Worker Version metadata and the Brain release id, manifest digest and authority commit. Comments call the promoter's brain-<hex12>-<attempt> tag evidence of a promoter deploy, not proof. - AGENTS.md, CLAUDE.md, wiki/README.md, the release runbook and the activation record now say `npm run deploy` refuses and never to run `wrangler deploy` directly. They name `wrangler rollback` as the only emergency lever, and say a forward hotfix path would be a journaled promoter mode. - .claude/settings.json: drop the pre-approved env-prefixed bare `npx wrangler deploy`. Replace `npx wrangler *` with read-only deployments/versions/tail/whoami rules and local-only `d1 execute --local`, with an ask rule on any `--remote`. Deny deploy, versions deploy/upload, rollback and secret put/delete/bulk for agent sessions.
Docs: record the Brain activation and correct project status
Release-affecting (per site/ops/brain_release_authority.py): ships only through the Brain release and promotion path. Files:
AGENTS.md,CONTRIBUTING.md. Every other file in this PR is release-neutral. AGENTS.md and CONTRIBUTING.md are currently classed release-affecting by site/ops/brain_release_authority.py; a separate PR makes them neutral. Nothing inwiki/src,wiki/scripts,siteorbrainreads either file, and this PR changes no Worker, asset or release bytes.Problem
Production has served an immutable Brain release since 2026-10-04, but every status doc still says it isn't deployed, and nothing in Git records the promotion.
sha256:8305822b0083…, manifestfa645b2ba956…,audited_at2026-10-04T17:25:04Z, with noprevious_*fields. The manifest'srelease.jsongives profilebrain-offline-replay-v1, authority commit2eb31baa(the PR Unblock finalize and P1B: coverage checker, semantic-diff evidence cap, activation CI git shim, promoter toolchain #43 merge), and offline packsha256:294b1fc7….37b7036d,README.md:7-16says the stack "remains inactive in production" and thatcurrent.jsonreturns 404, and its four-facts table (README.md:107-112) says No / No / No.docs/ROADMAP.md:160-175(queue "updated 2026-09-26") says the selector is absent; P1A is "NOT ACTIVATED" (:232) and P1B "NO PRODUCTION" (:279).docs/BRAIN-RELEASE-RUNBOOK.md:3-5and:471say activation is blocked, and:341still shows the first-activation form, which now fails on purpose.docs/BRAIN-SQLITE-HANDOFF.md:3points at the 2026-09-19 checkpoint.20261004T172504Z-8305822b0083-27c7c461cb(journaledmanual_intervention_required, reconciled 2026-10-08), and the rollback situation are not recorded in Git; the first two appear only in PR Canary: never advertise text/html, so Cloudflare's HTML rewrites cannot break the frozen-bytes check #44's body.git grep -E '8305822b|fa645b2b|294b1fc7' 37b7036dfinds nothing.CLAUDE.md:61andwiki/README.md:141list plainnpm run deployas the deploy command. Withassets.directory./public(wiki/wrangler.jsonc:8-9), that replaces the live selector and the whole asset tree.docs/propose-then-approve.md:3says "FULLY LIVE (2026-08-06)", and the revisions-migration box is unchecked althoughwiki/migrations/0004_p1_loop.sql:47-49shipped it.ROADMAP.md:927says 87 CI commands, butscripts/ci-python.shhas 90run_checklines.README.md:137andCONTRIBUTING.md:140ask readers to vote on a proposal that became Wikidata property P14534 on 2026-06-17.README.md:30linkssite/out_w3c/, which is gitignored and not published (/out_w3c/returns 404).CLAUDE.md:133-134points Lean work atwikifunctions/lean/, which doesn't exist.HANDOFF.md:18-22describes memory notes the memory directory doesn't hold.docs/research-plan.md:20,23still listspipeline_runsand/statsas unbuilt./<slug>/historypages, the newestai-moderate:reviewrevision is from 2026-09-17 09:05 UTC, whilewp-updatere-pins keep posting daily through 2026-10-13./statsstill shows 7newruns in total, and the lastai-createrevision is from 2026-07-03.Change
docs/BRAIN-ACTIVATION-2026-10-04.md. It holds publicly checkable facts plus the journal's reconciliation record: the selector andrelease.jsonidentity fields, a timeline, the Web Analytics canary failure and PR Canary: never advertise text/html, so Cloudflare's HTML rewrites cannot break the frozen-bytes check #44's fix, the attempt and its 2026-10-08 reconciliation (journalfinal_statedeployed_reconciled, Worker deployment499ba4bf…, version63b11a7e…) with the reconcile caveat for future attempts, rollback (noprevious_*, so Cloudflare deployment history is the version source, and the release canary can't verify a rollback to the pre-selector Worker), and the constraints from PR Releases survive release-neutral merges to main; pin-only edge diffs aggregate (semantic-diff/v3) #45's release-neutral rule (no reviewedmaincan re-promote this release, so any future promotion needs a new build; the bundle verifies only with2eb31baa's tooling; every Worker change needs a new release; no plainnpm run deploy). It ends with an Operator must fill table for the values only the journal holds; host, receipt-root and backup details stay in the private journal./aboutand/stats, records P14534's creation date, fixes the W3C/RDF links, and corrects the four-facts table.2eb31baarefuses--executewithout a verified activation bundle. The host-context authorization and provisioning boxes, and P1C's approval box, stay open with a "pending the journal" note, since the promotion alone doesn't show what was approved. P1C's promotion box is marked partial. The P2 revisions-migration and propose-then-approve boxes are checked. Stale P0-R lines that said no full replay release existed are annotated. Also: 90 CI commands, and status-log entries for 2026-08-18 (Bridge v3.1 factorial, join effect null, p=0.65), 2026-08-24, 2026-09-21, 2026-10-04, 2026-10-08, and 2026-10-13 (no review revision since 2026-09-17: the review step runs but has failed on every article since 2026-09-18; newtags never switched on).deployments listfallback.BRAIN-SQLITE-HANDOFF.mdpoints at the activation record. Stale status and deploy lines fixed insite/ops/README.md,brain/authority/README.md, andwiki/README.md. The host-context authorization is still described as needing Jack's approval, matching ROADMAP's open P1B box.npm run deploy. newtags is not a running job. Note on the nightly host. Wikifunctions lines fixed. Full Brain REST route list. Manual D1 migration procedure for the out-of-sync remote tracking (headers of0009-0012); new files stay idempotent, except a documentedALTER TABLE … ADD COLUMNmigration that is verified after applying. Memory and handoff pointers fixed. No hard invariant was removed or weakened.CONTRIBUTING.md: Human-at-boundaries moderation (the nightly resolver decides only its three deterministic rules; everything else waits for a patroller) and P14534.docs/wikidata_property_proposal.md: status banner (created 2026-06-17; 115 statements on 2026-10-13; how the live property differs from the draft). Its seed note now says each tag was merged into Mathlib by a maintainer after Mathlib CI, replacing "≥2 human reviewers incl. a maintainer", which the bot's settle gate never guaranteed.docs/research-plan.md: refreshed instrumentation inventory and an RQ status table (no analyses yet).manage/README.md: untracked artifacts, current formalize limits, 03:20 schedule.HANDOFF.md: memory claim.How tested
release.json(its SHA-256 equalsmanifest_sha256),/about,/stats, the HTTP status of each/api/brain/*route,/mcp(405 JSON vs 200 HTML withAccept: text/html),/wikilean.ttl(200),/out_w3c/(404),/wikifunctions(200),/api/articles(778), all 778 article history pages (4,302 revisions), and the Wikidata API (P14534 entity, first revision, proposal-page revisions, and a SPARQL count of 115 statements). PR facts come from the bodies of Prepare SQLite migration pack and stage replay releases #35-Releases survive release-neutral merges to main; pin-only edge diffs aggregate (semantic-diff/v3) #45.37b7036dand, where relevant,2eb31baaandbf6b4e4a:brain_release_authority.is_release_neutralfor every touched path,_check_recovery_checkout, the activation-bundle schema versions on both sides, the--executebundle requirement,brain-canary.py's required arguments, routes inbrain-api.ts/brain-edits.ts, the 9 MCP tools, and the migration headers.diff CLAUDE.md AGENTS.mdshows only line 1./wikilean.ttldescription was corrected, and inferred statements about the nightly are worded as inference.Risks
mainnon-neutral relative to any release built before this merges.mainis already non-neutral relative to the live release (PR Releases survive release-neutral merges to main; pin-only edge diffs aggregate (semantic-diff/v3) #45 changedbrain/tools), so nothing changes today.What Jack must do
docs/BRAIN-ACTIVATION-2026-10-04.mdfrom the deployment journal: the event-chain hash, approval texts, full baseline, bundle and dry-run IDs, the predeploy Worker version ID, and the public-release source-policy record.docs/ROADMAP.md.