Repository navigation
feat: publish shared organ state alongside Broca dashboard #14
Description
Overview
Broca's public dashboard lacks the shared state.json that Scientist needs to validate optional organ connections. Publish a minimal owner-derived feed alongside HTML without collecting or rewriting evidence.
Plan
- Build the shared state contract from existing collection receipts and evaluation states, keeping communication inventory separate from evaluation.
- Take explicit canonical repository identity from the publishing context and Pages URL from configuration/CLI.
- Publish HTML and validated JSON in the existing site artifact, with no new collection or execution.
- Test missing/stale/malformed evidence, independent names, artifact contents and Scientist consumption.
Tier: judge — merge mode: human /prm. Publication follows merge through the existing main workflow.
Detailed implementation plan
Primary PyAutoBroca; standalone workspace/organ route (Feature heuristic said library; no library source/API is involved). Branch feature/broca-state-feed; main clean, no active claim. Worktree .worktrees/broca-state-feed.
Add broca/state.py using Brain board/_state.py::build_state. Reuse board evidence classification and conservative latest-day selection rather than invent new quality assessments. Collection and evaluation dates remain distinct; never stamp render time as collection. Unknown timestamps use a documented v1 unknown sentinel and grey state; invalid persisted evidence fails generation. Summarize guides/workspaces inventory as inventory only. Declare a separate collection freshness policy if needed, without repurposing evaluation-age policy.
Extend render CLI with explicit optional --state-output and publishing repository identity, keeping old HTML-only usage compatible. Configure Pages URL separately from identity, with validation. Pages gets identity from GitHub context and writes only index.html/state.json to site/. Validate before publishing. Do not copy records or source into site/.
Test output against shared validator and actual Scientist connector/renderer using a local fixture. Cover empty configuration without assistants, absent/partial/stale receipt, old evaluation, malformed/tampered inputs, renamed repo/custom URL, collection timestamp preservation and artifact contents. Run Broca full tests/check/render and shared-state validation. Record publication/real HTTPS acceptance as post-merge follow-up; no claims before deployment.
Original prompt
Publish Broca's shared organ state feed
Type: feature
Target: PyAutoBroca
Epic: scientist-adoption-pilot
Difficulty: medium
Consequence: judge
Priority: high
Original request
ok great, conitnue work
Follow-up discovered while implementing Scientist#71 / PR#72. Keep this within the existing adoption epic and Broca expanded communication/documentation scope.
Observed prerequisite gap
On 2026-10-11, the configured public Broca dashboard https://pyautolabs.github.io/PyAutoBroca/ returns HTTP 200; state.json beneath it returns HTTP 404. Current main 1282e85 renders site/index.html through broca/board.py; Pages uploads site/, and source inspection finds no shared state producer. Scientist's existing collector and new validated connector require the shared Brain state contract. The connector correctly leaves an unconfigured profile unchanged.
Next bounded implementation
@PyAutoBroca should publish a minimal accurate state.json alongside its HTML using Brain's shared state builder/validator. Derive summary and collection dates from owner records; do not confuse render time with evidence collection, invent scientific/assistant quality verdicts, or mark inventory as validation. Preserve project source ownership and the broad guides/workspaces/docs/tutorials scope, with assistants separate. Include configurable canonical repo identity and Pages location so independently named instances work; inspect existing config before adding a new surface. Reuse existing Pages artifact workflow. Test empty, stale/missing and malformed evidence, renamed identities and artifact contents; after authorized publication verify Scientist's declared-identity/location connection against the real feed. No recollection, assistant execution, external messages, project cloning or full-roadmap dependency.
Use start-dev to inspect current work and produce one bounded issue/branch/PR. This record claims no repo and starts no publication. After this prerequisite, continue resumable optional-organ provisioning and owner validation; the published feed alone is not a full activation workflow.
Current authorization: "ok do that" — implement the feed prerequisite through the existing judge-tier PR workflow.
Activity
Jammy2211 commentedon Oct 11, 2026
Implementation ready: #15 at 43d0201.
Publishes saved Broca evidence through Brain shared state contract, with explicit canonical publishing identity/configured board location and assistant-free support. Existing Pages builds HTML + state.json only and validates before upload. No collection or record rewrite. Evaluation and collection clocks remain separate; review found and fixed a green-expiry bug, now regression-tested.
34 full Broca tests passed; saved-data check, generated-artifact validator and Scientist connect/retry/render fixture integration passed. Independent re-review CLEAN, including actual Scientist expiry behavior and immutable record/receipt byte preservation. Heart STALE only: release validation incomplete: no rehearsal for current source; no RED/YELLOW.
Await human /prm. Main Pages deployment will then publish the requested feed. Post-merge must verify deployment at the merge revision, live HTTPS state.json and Scientist connection before recording live success. Current public endpoint remains unverified/missing; local transport testing is not a deployment claim. Epic and follow-up steps recorded in Mind.
Jammy2211 commentedon Oct 11, 2026
Broca shared state feed
Human /prm authorized merge and full close-out. Head 43d0201 merged at 0204cd5; ancestry proven. Exact-head CI: Tests push38172423590 and PR38172433146 passed; Pages38172433318 build passed, deployment intentionally skipped on PR (not a test). No pending/failing test legs.
Broca now publishes Brain's shared state contract from saved receipts/records. Explicit canonical publishing identity, configurable URL, assistant-free communication configuration, separate collection/evaluation clocks, conservative same-day outcomes and validity bounded by passing-evaluation deadlines. Guides/workspaces are inventory, not quality results. No source copying, collection, execution or evidence rewrite. Local34 tests; saved-data check/shared validator and Scientist integration passed. Independent re-review CLEAN after expiry regression fix.
Published successfully by Pages run38172715636 at the exact merge SHA (build and deploy passed). Real https://pyautolabs.github.io/PyAutoBroca/state.json returned200 and passed the shared validator. Scientist's actual HTTPS connection helper applied to a new synthetic Mira profile; identical retry was a no-op, collection/rendering succeeded and the research note remained unchanged. No live Scientist user configuration was modified. Status remains red from saved evidence and updated remains2026-10-08T12:58:48+00:00; deployment did not freshen or clear it.
Evidence archived under tmp/broca-state-feed/, including live-state.json, verify_live.py, live-scientist fixture/HTML and local test/artifact logs. Heart ship gate was STALE only (no current-source rehearsal); no software release claimed. Next epic phase: resumable optional-organ provisioning/owner validation, then record-preserving upgrades and real collaborator acceptance. Connection publication prerequisite is complete.