-
Notifications
You must be signed in to change notification settings - Fork 0
docs(roadmap): sync Hermes3D state with live baseline (Lane 18) #53
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,97 @@ | ||
| # Claude Docs Sync — 2026-05-06 | ||
|
|
||
| Lane: `H3D-CLAUDE-DOCS-PROOF` (Lane 18 of the Hermes3D 20-Agent Completion Contract) | ||
| Owner: `claude-docs-proof` | ||
| Branch: `claude/docs-proof` | ||
| Base: `feat/hermes3d-7-complete-gui-repo-wiring` | ||
|
|
||
| This file is a Claude-authored companion to `03_implementation/ROADMAP.md`. | ||
| It records the live Hermes3D OS baseline as of 2026-05-06 without editing | ||
| files held by another lane's active Hermes lock. ROADMAP.md is owned by | ||
| `codex-master` under task `H3D-HERMES3D7-GUI-WIRING-2026-05-04` at the time | ||
| of this sync, so this lane only adds proof and a docs-sync note. | ||
|
|
||
| ## Baseline Commits Landed (last 5) | ||
|
|
||
| | SHA | Subject | | ||
| | --- | --- | | ||
| | `be753d9e` | test(e2e): add live GUI and no-fake proof coverage | | ||
| | `e38b38c9` | feat(source-os): add adapter schemas, source audits, and runtime proof | | ||
| | `a13fd442` | feat(ui): wire live Hermes3D tabs and remove mock UX | | ||
| | `3b9235ba` | feat(api): add live Hermes3D backend routes and proof services | | ||
| | `c9b1afda` | docs(contract): sync Hermes3D completion roadmap and Claude handoffs | | ||
|
|
||
| These five commits are the shared baseline that all 20 Claude lanes branch | ||
| from. Each lane operates in its own worktree and only touches its declared | ||
| file set. | ||
|
|
||
| ## Tab Inventory (from `03_implementation/ui/src/app/routes.tsx`) | ||
|
|
||
| `TABS` exports 16 tabs. `PRIMARY_TABS` excludes `roadmap` and exports 15. | ||
| Each id maps to a real `.tsx` file under `03_implementation/ui/src/tabs/`. | ||
|
|
||
| | # | id | label | tab file | | ||
| | --- | --- | --- | --- | | ||
| | 1 | `source_os` | Source OS | `SourceOS.tsx` | | ||
| | 2 | `dashboard` | Dashboard | `Dashboard.tsx` | | ||
| | 3 | `autopilot` | Autopilot | `Autopilot.tsx` | | ||
| | 4 | `design` | Design | `Design.tsx` | | ||
| | 5 | `gen3d` | 3D Generation | `Gen3D.tsx` | | ||
| | 6 | `jobs` | Jobs | `Jobs.tsx` | | ||
| | 7 | `printers` | Printers | `Printers.tsx` | | ||
| | 8 | `observe` | Observe | `Observe.tsx` | | ||
| | 9 | `voice` | Voice | `Voice.tsx` | | ||
| | 10 | `agents` | Agents | `Agents.tsx` | | ||
| | 11 | `learning` | Learning | `Learning.tsx` | | ||
| | 12 | `artifacts` | Artifacts | `Artifacts.tsx` | | ||
| | 13 | `approvals` | Approvals | `Approvals.tsx` | | ||
| | 14 | `plugins` | Plugins | `Plugins.tsx` | | ||
| | 15 | `settings` | Settings | `Settings.tsx` | | ||
| | 16 | `roadmap` | Roadmap | `Roadmap.tsx` | | ||
|
|
||
| Tab ledger status (mirrors `03_implementation/ROADMAP.md` as of this sync): | ||
|
|
||
| - DONE: Dashboard, Simple GUI, Observe, Agents rail/chat, Artifacts, Jobs, | ||
| Approvals. | ||
| - IN_PROGRESS: Source OS, Plugins, Printers, Settings, Autopilot, Learning, | ||
| Voice, Design, 3D Generation, Roadmap. | ||
|
|
||
| No tab is claimed live in this doc unless it is either present in the | ||
| ROADMAP ledger above or has a backing spec under | ||
| `03_implementation/ui/tests/e2e/`. As of this sync the e2e directory | ||
| contains `live-gui.spec.ts`. | ||
|
|
||
| ## Printer Policy (live, as of 2026-05-06) | ||
|
|
||
| - FLSUN S1 — `192.168.0.12` — camera read-only. No move, upload, print, | ||
| or test. UI must show locked status until the user changes it. | ||
| - T1 #1 — `192.168.0.10` — Moonraker/Klipper. Testable only via | ||
| policy-gated backend routes. | ||
| - T1 #2 — `192.168.0.11` — Moonraker/Klipper. Testable only via | ||
| policy-gated backend routes. | ||
| - FLSUN V400 — `192.168.0.34` — Moonraker/Klipper. Testable via | ||
| policy-gated backend routes; USB webcam URL is configured and read | ||
| through Observe. | ||
|
|
||
| Secrets used by the backend (Azure Speech, Hermes Agent runtime, proof | ||
| signing keys, etc.) are loaded from `G:/private/.env` at runtime only. | ||
| They are never committed, never echoed, and never sent to the frontend. | ||
|
|
||
| ## Proof File | ||
|
|
||
| `03_implementation/proof/DOCS_SYNC_2026-05-06.json` records the same | ||
| baseline (commit shas, tab list, printer policy, files changed, | ||
| hermes task id). That JSON is the machine-readable proof for this lane. | ||
|
|
||
| ## Hermes Locks Used By This Lane | ||
|
|
||
| Owner: `claude-docs-proof` | ||
| Task: `H3D-CLAUDE-DOCS-PROOF` | ||
| Files locked: | ||
|
|
||
| - `03_implementation/proof/DOCS_SYNC_2026-05-06.json` | ||
| - `03_implementation/docs/CLAUDE_DOCS_SYNC_2026-05-06.md` | ||
| - `README.md` | ||
|
|
||
| ROADMAP.md was intentionally not locked or edited because an active | ||
| non-stale lock from `codex-master` was present at sync time. | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,118 @@ | ||
| { | ||
| "lane": "H3D-CLAUDE-DOCS-PROOF", | ||
| "owner": "claude-docs-proof", | ||
| "date": "2026-05-06", | ||
| "branch": "claude/docs-proof", | ||
| "base_branch": "feat/hermes3d-7-complete-gui-repo-wiring", | ||
| "purpose": "Sync user-facing docs with the live Hermes3D OS baseline that landed in the 5-commit 20-agent contract baseline.", | ||
| "commits_baseline": [ | ||
| "be753d9e1704759bd57cb64a083a0e98e996e029", | ||
| "e38b38c91567e8cc776e00d4c2aa67aff12df26d", | ||
| "a13fd44293fcd422cf582ad206770fb459c09ea4", | ||
| "3b9235bae3d43c2bd05a6647dfd54612ad6d68fa", | ||
| "c9b1afdadf7053e2847d29faf5e34a0da7fdf316" | ||
| ], | ||
| "tabs_present": [ | ||
| "source_os", | ||
| "dashboard", | ||
| "autopilot", | ||
| "design", | ||
| "gen3d", | ||
| "jobs", | ||
| "printers", | ||
| "observe", | ||
| "voice", | ||
| "agents", | ||
| "learning", | ||
| "artifacts", | ||
| "approvals", | ||
| "plugins", | ||
| "settings", | ||
| "roadmap" | ||
| ], | ||
| "tab_count": 16, | ||
| "primary_tab_count": 15, | ||
| "tab_files_on_disk": [ | ||
| "03_implementation/ui/src/tabs/Agents.tsx", | ||
| "03_implementation/ui/src/tabs/Approvals.tsx", | ||
| "03_implementation/ui/src/tabs/Artifacts.tsx", | ||
| "03_implementation/ui/src/tabs/Autopilot.tsx", | ||
| "03_implementation/ui/src/tabs/Dashboard.tsx", | ||
| "03_implementation/ui/src/tabs/Design.tsx", | ||
| "03_implementation/ui/src/tabs/Gen3D.tsx", | ||
| "03_implementation/ui/src/tabs/Jobs.tsx", | ||
| "03_implementation/ui/src/tabs/Learning.tsx", | ||
| "03_implementation/ui/src/tabs/Observe.tsx", | ||
| "03_implementation/ui/src/tabs/Plugins.tsx", | ||
| "03_implementation/ui/src/tabs/Printers.tsx", | ||
| "03_implementation/ui/src/tabs/Roadmap.tsx", | ||
| "03_implementation/ui/src/tabs/Settings.tsx", | ||
| "03_implementation/ui/src/tabs/SourceOS.tsx", | ||
| "03_implementation/ui/src/tabs/Voice.tsx" | ||
| ], | ||
| "tab_registry_source": "03_implementation/ui/src/app/routes.tsx", | ||
| "printer_policy": { | ||
| "S1": { | ||
| "ip": "192.168.0.12", | ||
| "mode": "camera_read_only", | ||
| "actions_locked": true, | ||
| "notes": "No move, upload, print, or test. UI must show locked status until user changes it." | ||
| }, | ||
| "T1_1": { | ||
| "ip": "192.168.0.10", | ||
| "mode": "moonraker_klipper", | ||
| "actions_locked": false, | ||
| "notes": "Testable only through policy-gated backend routes." | ||
| }, | ||
| "T1_2": { | ||
| "ip": "192.168.0.11", | ||
| "mode": "moonraker_klipper", | ||
| "actions_locked": false, | ||
| "notes": "Testable only through policy-gated backend routes." | ||
| }, | ||
| "V400": { | ||
| "ip": "192.168.0.34", | ||
| "mode": "moonraker_klipper", | ||
| "actions_locked": false, | ||
| "notes": "Testable only through policy-gated backend routes; USB webcam URL configured for Observe." | ||
| } | ||
| }, | ||
| "printer_policy_quoted": true, | ||
| "e2e_specs_present": [ | ||
| "03_implementation/ui/tests/e2e/live-gui.spec.ts" | ||
| ], | ||
| "proof_artifacts_present_in_proof_dir": [ | ||
| "03_implementation/proof/ACTIVE_UI_NO_FAKE_SWEEP.md", | ||
| "03_implementation/proof/FLSUN_PROFILE_SOURCE_AUDIT.json", | ||
| "03_implementation/proof/LOCAL_TOOLING_AUDIT.json", | ||
| "03_implementation/proof/PDF_CONTRACT_EXTRACT.txt", | ||
| "03_implementation/proof/SOURCE_APP_60_COMPLETION_AUDIT.json", | ||
| "03_implementation/proof/SOURCE_APP_CLI_AGENT_READINESS_AUDIT.json", | ||
| "03_implementation/proof/SOURCE_APP_CLI_SURFACE_AUDIT.json", | ||
| "03_implementation/proof/SOURCE_APP_RUNTIME_ACTION_PLAN.md", | ||
| "03_implementation/proof/SOURCE_REGISTRY_TRUTH_AUDIT.json", | ||
| "03_implementation/proof/T1_DELTA_CALIBRATION_PRINT_PROOF.json", | ||
| "03_implementation/proof/TESTS_PROOF_READINESS.md" | ||
| ], | ||
| "files_changed": [ | ||
| "03_implementation/proof/DOCS_SYNC_2026-05-06.json", | ||
| "03_implementation/docs/CLAUDE_DOCS_SYNC_2026-05-06.md", | ||
| "README.md" | ||
| ], | ||
| "files_not_touched_codex_owned": [ | ||
| "00_overview/contract/MASTER_CONTRACT.md", | ||
| "00_overview/contract/DEFINITION_OF_DONE.md", | ||
| "03_implementation/ROADMAP.md", | ||
| "03_implementation/docs/handoffs/CLAUDE_20_AGENT_COMPLETION_CONTRACT.md", | ||
| "03_implementation/docs/handoffs/GITHUB_SYNC_PLAN_2026-05-06.md", | ||
| "03_implementation/src/hermes3d/services/code_history.py", | ||
| "03_implementation/src/hermes3d/api/routes/code_operator.py" | ||
| ], | ||
| "rationale_for_skipping_roadmap": "03_implementation/ROADMAP.md is held by an active hermes lock from owner=codex-master under task H3D-HERMES3D7-GUI-WIRING-2026-05-04. Per the lane rules a Claude lane must not edit files held by another agent's active lock. ROADMAP.md is current as of 2026-05-06 with the live tab status, printer policy, and proof event ids. This lane therefore adds a Claude-authored docs sync companion at 03_implementation/docs/CLAUDE_DOCS_SYNC_2026-05-06.md and updates README.md only.", | ||
| "hermes_task_id": "H3D-CLAUDE-DOCS-PROOF", | ||
| "hermes_locks_acquired": [ | ||
| "03_implementation/proof/DOCS_SYNC_2026-05-06.json", | ||
| "03_implementation/docs/CLAUDE_DOCS_SYNC_2026-05-06.md", | ||
| "README.md" | ||
| ] | ||
| } |
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
|
|
@@ -304,6 +304,8 @@ Latest release: <https://github.com/Ghenghis/Hermes3D/releases> | |||||
| - **Release notes** — [`00_overview/V5_3_0_RELEASE_NOTES.md`](./00_overview/V5_3_0_RELEASE_NOTES.md) (v5.3.0 RC — draft for review) | ||||||
| - **Honesty ledger** — [`00_overview/contract/HONESTY_LEDGER.md`](./00_overview/contract/HONESTY_LEDGER.md) (every claim, with status) | ||||||
| - **Roadmap** — [`00_overview/contract/ROADMAP.md`](./00_overview/contract/ROADMAP.md) | ||||||
| - **Operator GUI roadmap** — [`03_implementation/ROADMAP.md`](./03_implementation/ROADMAP.md) (16 tabs · live ledger · printer policy) | ||||||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The new sync document
Suggested change
|
||||||
| - **20-agent completion contract** — [`03_implementation/docs/handoffs/CLAUDE_20_AGENT_COMPLETION_CONTRACT.md`](./03_implementation/docs/handoffs/CLAUDE_20_AGENT_COMPLETION_CONTRACT.md) | ||||||
| - **Live proof** — [`PROOF_E2E_REPORT.md`](./PROOF_E2E_REPORT.md) (refreshed by CI on every push) | ||||||
|
|
||||||
| --- | ||||||
|
|
||||||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hardcoding an absolute path with a drive letter (
G:/private/.env) limits the portability of the documentation and the system. It is recommended to use environment variables or relative paths, or at least use a placeholder (e.g.,<PRIVATE_ENV_PATH>) to indicate that this path is environment-specific.