docs(claude): split CLAUDE.md into BOOTSTRAP + CATALOG + PATTERNS (Phase C) - #1385
Conversation
…ase C) Addresses 5090 CLAUDE cross-node awareness gap (PR #1378 MOF thesis, PR #1379 Grand Convergence). Problem: .claude/CLAUDE.md grew to ~46k chars — always-loaded, monolithic, dogmatic. Agents either parsed the whole thing slowly or skipped it silently. Either way, not the context prosody the framework needs. Solution: 4-file prosodic structure. - .claude/BOOTSTRAP.md (4943c) — flat foundation. Emperor-CHIT-humility disclosure, 6 Known Roads, 4 MCP entrypoints, 3 cross-node delegation paths. 'If this file is all you remember, you can still do the right thing.' - .claude/CATALOG.md (7256c) — service ports/URLs/health endpoints. On-demand when a task needs a specific service. - .claude/PATTERNS.md (20735c) — Known Roads, credentials, CHIT, skill pairings, hook recovery, CodeQL sanitizer. On-demand when a task needs a rule. - .claude/CLAUDE.md (10048c, down from ~46k) — thin orchestration layer: architecture thesis, Tier 1-4 loading, pointers to BOOTSTRAP/CATALOG/PATTERNS, meta-instruction. Net always-loaded context (BOOTSTRAP + CLAUDE): 15k chars, 67% reduction from 46k. Every pointer references real sibling files or existing context docs — no content removed, only relocated and deduplicated. Alignment with MOF thesis: every node loads the same flat foundation; capacity-class not expertise-lane means every agent is equipped to run PMOVES, not pre-specialized by hardware. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
Warning Rate limit exceeded
Your organization is not enrolled in usage-based pricing. Contact your admin to enable usage-based pricing to continue reviews beyond the rate limit, or try again in 46 minutes and 18 seconds. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (4)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 0df8e3a73e
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
|
||
| **Ports, URLs, health endpoints. Load this on demand when you need a specific service address.** | ||
|
|
||
| All services expose `/healthz` for liveness and `/metrics` for Prometheus. |
There was a problem hiding this comment.
Clarify global health/metrics endpoint claim
The blanket statement that all services expose both /healthz and /metrics is contradicted by entries in this same catalog (for example, Mesh Agent has no HTTP interface and Cipher Memory documents /health), so any automation or operators using this line as a default probe rule will generate false failures. Please scope the claim to only services that implement the standard health router, or remove it in favor of per-service endpoints.
Useful? React with 👍 / 👎.
… merges (#1386) * chore(docs): reconcile PRODUCTION_AUDIT_DASHBOARD after Phase A + #1384 merges Post-merge dashboard refresh. 215 commits behind HEAD before this reconcile. Related merges on main since last reconcile (2026-04-17): - #1378 MOF Architecture (9fb2c43) - #1379 Grand Convergence (c50f9af) - #1380 AGNOTE4482 wave entries (f672a30) - #1384 Multi-session Supabase hardening (9ed3543) Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * docs(agnote4482): claim register + ACK for Phase A + C close-out Append claim/release entries + signed ACK block for Z890-mirror-on-5090 session wrapping Phase A merge wave (PRs #1378/#1379/#1380) and Phase C BOOTSTRAP.md split (PR #1385). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Shaela Bello <slbello@uncg.edu> Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…#1415) * docs(launch): Stage 0 — initial layout validation for launch readiness Establishes the launch-readiness substrate before any Stage 1+ edits: - pmoves/configs/tac_trees/pmoves-launch-readiness.tac.yaml — 12-stage TAC tree mirroring the pinokio-p7.tac.yaml convention (name/version/root with hierarchical children, action.type/expect, status, agent_hint). Stages 0-3 + 7-11 launch-blocking; Stages 4-6 (Longbow, viz, retrace lifeline) v1.1. - pmoves/docs/launch/PLIGHT_AND_PLAN.md — narrative + milestones M0-M6 + outstanding owner-decision table; body of the GitHub plight-and-plan issue. - pmoves/docs/launch/PR_BACKLOG_CLASSIFICATION.md — 9 open PRs classified as critical-path (#1381 sign-trail, #1371 A2A activation), opportunistic (#1385/86/87 docs), auto-merge (#1388/#1372 dependabots), or v1.1-deferred (#1373/#1374 drafts). - scripts/validate_launch_layout.py — TAC-walking validator. Supports file_exists, file_or, manual, gh_issue, pytest, script, nats_subject, pr_state, supabase_migration, nats_messages_seen check types. Outputs pmoves/docs/launch/LAYOUT_VALIDATION_REPORT.md. - pmoves/docs/launch/LAYOUT_VALIDATION_REPORT.md — first-run baseline showing 11/45 blocking nodes pass (Stage 0 deliverables green; Stage 1+ pending). Cross-cutting principle established in the plan: every gate junction emits both syntactic and semantic measure; drift goes to a gate_drift_dynamo Qdrant collection (drift-as-dynamo). Defense-in-stance for Stage 8: parallel work-attestation stub + TradFi+Web3 hybrid token tracks. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * docs(launch): close Stage 0 — issue #1389 filed, all 5 nodes green GitHub plight-and-plan tracking issue filed at #1389. Validation report refreshed to reflect closed gate: 12/45 blocking nodes now pass (Stage 0 contributing 5/5). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * feat(audit): credential + naming-drift coherence gate (5×5 trail handshake) Lands the foundation for the 5×5 trail handshake invariant: agent emit / operator confirm / CI verify / trail record all read the same signing_card_id. Converts ten naming-drift sites from a recurring CodeRabbit/owl annoyance into an enforceable contract. Phase 1: CREDENTIAL_AND_DRIFT_SITREP — factual snapshot of PAT state, GitHub App migration gap, commit-signing posture, runner secrets pipeline, and the 10-row drift inventory with severity ranking. Phase 2: signing_identity_cards.yaml (16 cards: 1 operator, 9 agents, 1 service-account, 5 runners) + SIGNING_IDENTITY_CARDS.md operator explainer. Schema validation embedded in audit gate (canonical schema file pending damage-control policy carve-out for new versioned files). Phase 3: CANONICAL_NAMES.md decision log + bootstrap/registry.json canonical_aliases structured block. Audit gate prefers the JSON form; markdown is the human-facing fallback. Phase 4: audit_naming_drift.py (666 lines, 6 surface checks) + 10-test suite + naming-drift-check / naming-drift-strict make targets. Currently detects 7 P0 (GH_APP_SEC PEM misuse) and ~83 P1 (compose ${VAR:-} triage backlog made visible). Strict mode stays local-only per Owner-Decision E until P0 → 0. Phase 5: node_descriptions_diff scaffold (gitignored runtime artifact). Trail handshake (channel #4 of 5×5): sign_trail.py now reads cards on every signing call and stamps signing_card_id on the payload. Advisory mode per Owner-Decision D — missing card warns to stderr but doesn't block. Three-Body separation honored: - Delivery body: claude-opus produced phases 1-5 deliverables - Control body: z890-claude reviewed independently, closed 3 of 5 surfaced gaps in this commit (trail handshake, registry block, schema validation), filed 2 as deferred follow-ups - Memory body: cards seed + audit log artifacts feed the Cipher trail Files (11): pmoves/docs/operations/CREDENTIAL_AND_DRIFT_SITREP.md [NEW] pmoves/config/signing_identity_cards.yaml [NEW] pmoves/docs/operations/SIGNING_IDENTITY_CARDS.md [NEW] pmoves/docs/operations/CANONICAL_NAMES.md [NEW] pmoves/scripts/audit_naming_drift.py [NEW] pmoves/tests/test_audit_naming_drift.py [NEW] pmoves/tools/sign_trail.py [EDIT — card resolver + stamp] pmoves/bootstrap/registry.json [EDIT — canonical_aliases block only] pmoves/mk/preflight.mk [EDIT — naming-drift targets] pmoves/docs/AGENTS/AGNOTE4482.md [EDIT — Three-Body signoff entry] .gitignore [EDIT — runtime log artifacts] Owner-Decision surface (awaiting DARKXSIDE ACK on each): A. Operator SSH fingerprint capture timing — operator-driven B. PAT consolidation: 6→1 vs document-scope-per-name — document for now C. JWT alias deprecation window — 30 days, sunset 2026-05-26 D. 5×5 trail handshake mandatory vs advisory — advisory at first E. naming-drift-strict in CI promotion criteria — local-only first Deferred follow-ups: - signing-card.v1.schema.json at canonical path (needs damage-control patterns.yaml carve-out for new versioned schema files; coupling that policy change to a credential-audit PR is out-of-scope) - naming-drift-strict CI promotion (after one clean week local) - Operator SSH fingerprint backfill on signing_identity_cards.yaml Verification: uv run pytest pmoves/tests/test_audit_naming_drift.py -v # 10/10 PASS make -C pmoves naming-drift-check # exit 0 make -C pmoves naming-drift-strict # exit 1 (expected) python pmoves/tools/sign_trail.py --agent-id z890-claude # stamps card_id ACK::CLAUDE-OPUS::CREDENTIAL-AUDIT-PHASES-1-5::2026-04-26 ACK::Z890-CLAUDE::CREDENTIAL-AUDIT-REVIEW::2026-04-26 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * feat(content-provenance): contracts + SPARK working parity Establishes the data layer for the SPARK-first content-provenance pipeline that gates HiRAG ingest behind shaping, attestation, and CHIT geometry. Pipeline shape (publishers → consumers covered in follow-up commits): channel-monitor | ffmpeg-whisper → content.raw.v1 → SPARK content-provenance-gate → content.lexicon.shaped.v1 → content.provenance.attested.v1 → content.hirag.accepted.v1 / rejected.v1 → hi-rag-gateway-v2 + hyperdimensions Adds: - 5 new content.* JSON schemas (raw, lexicon.shaped, provenance.attested, hirag.accepted, hirag.rejected) - 5 topics.json entries wiring publisher/subscriber contracts - pmoves/docs/architecture/PMOVES_SPARK_PROVENANCE_PARITY.md — canonical working contract for SPARK shaping, attestation, and HiRAG gating - AGNOTE-dgx-spark expanded from node stub into working-lane note with contract pointer and near-term sequence (deploy mesh.gpu.* streams → add content.* subjects → wire shaping worker → gate HiRAG → feed Hyperdimensions replay) - Hyperdimensions control plane: documents /hyperdimensions/provenance/ live save + viewer routes (consumers in Cluster 3) - CHIT_CHANGE_TRACKER + DOCUMENTATION_MAP: changelog entry + date refresh Z890 owns trust/infra edges (subjects, JetStream policy, HiRAG gates, canon). SPARK owns heavy-inference shaping. Hyperdimensions becomes the replay/control surface for shaped packets. Cluster 1 of 5 (split-by-cluster commit plan from C:\Users\DARKXSIDE\.claude\plans\lets-get-sitrep-plz-shiny-octopus.md). Originating draft of schemas + SPARK parity doc landed in working tree via Codex CLI on 2026-04-25; this commit promotes them to canon. Co-Authored-By: Codex CLI <codex@cataclysm.studios> Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * feat(content-provenance): publishers — channel-monitor + ffmpeg-whisper emit content.raw.v1 Wires the source ends of the SPARK content-provenance pipeline. Both services now publish raw content envelopes onto NATS for downstream shaping, attestation, and HiRAG gating. channel-monitor: - New CHANNEL_MONITOR_CONTENT_RAW_PUBLISH toggle (default off; opt-in per node) - Persistent NATS client (best-effort connect; non-fatal on failure) - Publishes content.raw.v1 events on manual drops with correlation_id threading - Defensive guards when nats-py is not installed - Tests + README + requirements bump ffmpeg-whisper: - Existing CGP publisher path extended to also emit content.raw.v1 alongside transcript.ready.v1 when CGP_PUBLISH_ENABLED or CONTENT_RAW_PUBLISH_ENABLED is set - Single shared NATS client; publish failures stay non-fatal - Symbol rename in log lines: "CGP publish failed" → "NATS publish failed" (covers both subjects) Subject contract: content.raw.v1 schema in pmoves/contracts/schemas/content/raw.v1.schema.json (Cluster 1). Cluster 2 of 5. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * feat(content-provenance): consumers + content-provenance-gate worker + JetStream config Wires the consumer end of the SPARK content-provenance pipeline: content-provenance-gate (NEW service): - Dockerfile + main.py (~21K) + requirements.in - Implements the SPARK shaping → attestation gate that lives between content.raw.v1 and content.hirag.{accepted,rejected}.v1 - Owns lexicon shaping, semantic scoring, CHIT geometry attestation, Merkle/Graphiti binding before HiRAG ingest hi-rag-gateway-v2: - New provenance_ingest.py: content.hirag.accepted.v1 listener + ProvenanceAcceptedItem upsert path that writes shaped lexicon + scorecard into Qdrant + Meilisearch - New provenance_geometry.py: extracts hyperdimensions save config from accepted CGP envelopes for /hyperdimensions/provenance/latest.json - New routes/provenance.py: dedicated upsert + status routes for callers that already hold weighted terms / favorite words / sections - routes/geometry.py: adds /hyperdimensions/provenance/{latest.json,view} for live save retrieval + redirect into Hyperdimensions UI - models.py: ProvenanceAcceptedItem + ProvenanceUpsertReq Pydantic types - geometry_bus.py + app.py: content.hirag.accepted.v1 listener task registered in lifespan (startup connect, graceful drain on shutdown) - New unit tests: test_provenance_geometry + test_provenance_ingest gateway: - Subscribe to content.raw.v1, content.hirag.accepted.v1, content.hirag.rejected.v1 alongside existing ingest.* topics NATS: - pmoves/nats/content_provenance_streams.yaml: JetStream stream policy for content.* subjects (referenced in AGNOTE-dgx-spark near-term lane) Tests: - pmoves/tests/services/test_content_provenance_gate.py Cluster 3 of 5. Hi-RAG gating and SPARK shaping worker now exist in canon; deployment of mesh.gpu.* + content.* JetStreams remains an operator step per AGNOTE-dgx-spark. Co-Authored-By: Codex CLI <codex@cataclysm.studios> Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * feat(space-agent): NATS bridge — pmoves.space.action.v1 + pmoves.space.event.v1 Surfaces PMOVES-space-agent (Node.js customware bridge, port 3010) on the bus so space CRUD + lifecycle events can be observed and acted on by Agent Zero, attestation workers, and UI feeds. Subjects: - pmoves.space.action.v1 — published on /api/pmoves_bridge POST for create_space / update_widget / delete_space / list_spaces / read_space - pmoves.space.event.v1 — published on customware lifecycle changes (mutation succeeded, widget updated, space deleted). Stage 8 token-stub watches event for work-receipt minting. Wiring: - pmoves/bootstrap/registry.json: space-agent service entry with PMOVES_BRIDGE_API_KEY (random_hex 32, sensitive), SPACE_AGENT_BIND (default 127.0.0.1, opt-in LAN), SPACE_AGENT_PORT, SPACE_AGENT_SRC for submodule mount path - pmoves/config/agent_registry.yaml: space_agent agent entry with node_affinity [z890, 5090], orchestration team, agents compose profile, attribution_gated CHIT toggle - .claude/context/nats-subjects.md (×2 mirrors): canonical subject docs Lane fit (per agent-teams.yaml + operator roster): - z890 owns trust/infra + DoX + tokenomics - 5090 carries voice/media weight - space-agent's customware actions show up in both nodes' surfaces Cluster 4 of 5. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * feat(a2ui-renderer): Pretext text-layout engine + ProvenanceLivingDoc composition + /render/provenance route Adds the 4090 display surface for the SPARK content-provenance pipeline. Captions, transcript overlays, provenance labels, and living-doc copy blocks now wrap deterministically inside the Remotion browser runtime. Pretext text-layout engine: - src/remotion/pretextLayout.ts — wraps @chenglou/pretext, falls back to browser whitespace handling when canvas measurement is unavailable - a2ui-animation-schema.json: text + heading elements may opt into text_layout.engine=pretext with maxWidth, lineHeight, letterSpacing, whiteSpace, wordBreak, maxLines, shrinkWrap, debugBoxes - src/remotion/A2UIComposition.tsx + index.tsx: integrate pretext layout per-element with layout_summary inventory in render response - skills/remotion-render/manifest.yaml: Pretext metadata + provenance endpoint listed as alternate (/render/provenance) ProvenanceLivingDoc composition: - src/remotion/ProvenanceLivingDoc.tsx — dedicated composition rendering title, summary, merkle root, shape id, weighted terms, favorite words, sections, and provenance refs into a living-doc artifact - src/provenanceLivingDoc.ts — server-side route handler - src/index.ts: POST /render/provenance route accepts a flat ProvenanceLivingDoc request (no A2UI scene-builder layer required) - a2ui.render.completed.v1 carries provenance_summary alongside layout_summary Tooling: - scripts/render-provenance-artifact.mjs — local helper to render a provenance artifact from a request JSON file (npm run build && node scripts/render-provenance-artifact.mjs <req.json> <out.png>) - demos/provenance_living_doc.request.json — request fixture - demos/provenance_living_doc.mof_example.json — MOF-themed sample - demos/.gitignore — ignores *.preview.{png,mp4,gif,webm} render outputs (regenerated locally via the helper script) CREATOR_PIPELINE.md: documents Living Docs Text Layout section, control seam (Pmoves-pretext fork tracked alongside @chenglou/pretext), usage pattern, and the dedicated /render/provenance route. Cluster 5 of 5 — closes the split-by-cluster commit plan. Working tree feature work for content-provenance + space-agent + Pretext is now in canon. Submodule drift reconciliation (Tasks 4-5-7) and rebase (Task 8) remain. Co-Authored-By: Codex CLI <codex@cataclysm.studios> Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * docs(agnote4482): board entry — Z890-CLAUDE sitrep + drift audit + handoff matrix Adds CLAIM/REVIEW/RELEASE block to Active Claim Register restoring board coherence after 19-day quiet period (last entry: CLAUDE-OPUS 2026-04-21). CLAIM: Sitrep + drift audit on feature/launch-readiness-stage-0 identifying three drift classes — (A) 4 cross-main divergent submodule pointers incl. Pmoves-cipher + PMOVES-transcribe-and-fetch with origin/main commits force-pushed away upstream, (B) 20 working-tree submodule advances unique to neither branch HEAD nor main incl. ClawZ rewind, (C) 28+ files of uncommitted feature work — coherent SPARK content-provenance pipeline. REVIEW: Dependency graph mapped against documented agent lanes (AGNOTE4482_SITREP.md:106-117 + AGNOTE4482PHI.5090-SUBMODULE-AUDIT.md precedent). Critical path: Z890 commit feature work → 5090 Class B audit + bake → 5090 Archon+BotZ-gw promote → Z890 rebase. Parallel lanes: 4090 PR fixes, operator + submodule owners republish for cipher/transcribe-and-fetch, operator decisions A/C + §1.4 signoff. RELEASE: Sitrep + 5-cluster commit plan documented in C:\Users\DARKXSIDE\.claude\plans\lets-get-sitrep-plz-shiny-octopus.md. Handoffs proposed by lane signature: 5090-CLAUDE: Tasks 4-5-7 (submodule sync lane) 4090-CLAUDE: Tasks 2-3 (PR review / Shift Crew lane) CODEX-GPT5: Task 9 (§1.4 docs/prospectus signoff) OPERATOR: Tasks 6, 10, 11 (upstream republish, SSH fingerprint, JWT sunset) Z890-CLAUDE: Task 1 done (this commit set), Task 8 reserved. Cluster commit pairs (just landed): 500652d contracts + SPARK working parity 5153a0b publishers — channel-monitor + ffmpeg-whisper 2f908a0 consumers + content-provenance-gate + JetStream config 53abcd4 space-agent NATS bridge 2eed4a7 a2ui-renderer Pretext + ProvenanceLivingDoc + /render/provenance Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * fix(a2ui-renderer): differentiate render:provenance:still vs :file scripts Both npm scripts invoked the bare CLI with no arguments, so they always produced identical .png stills regardless of script name. Pass explicit input + output args so :still emits PNG and :file emits MP4 — matching the script's extension-driven branch in render-provenance-artifact.mjs. Addresses CodeRabbit critical thread on PR #1415, package.json:12. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * chore(ci): disable self-hosted-builds.yml push + PR triggers Self-hosted runners (ai-lab/5090, kvm4) are not reliably online — the last 10+ runs of this workflow on push to main have all been cancelled since 2025-12. Mirroring the precedent set in self-hosted-builds-hardened.yml (lines 11-14): comment out both auto-triggers, keep workflow_dispatch as the operator escape hatch. Re-enable both blocks when: - 5090 node has completed submodule sync - pmoves-nats-1 is exposed to the host (4222/8222 portproxy fixed) - self-hosted runners pass a clean dispatch run Operators: trigger manually via gh workflow run self-hosted-builds.yml. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * fix: address PR #1415 review findings (C1 H1 H2 H3 H4 M1 M3 M6) * fix(ci): suit-release-policy.yml YAML — bash continuation breaks block scalar Lines 45-46 + 54-55 had bash multi-line string continuations starting at column 1, which dropped them outside the `run: |` block scalar's 10-space indent. Result: YAML parser fails, every run reported as "workflow file issue" — gate has been broken since inception (7+ consecutive failed runs). Fix: replace literal newlines in TOUCHED_FILES assignment with bash ANSI-C quoting (\$'\n'), keeping the assignment on one YAML-safe line: TOUCHED_FILES="\$TOUCHED_FILES"\$'\n'"\$MATCHES" Verified locally with yaml.safe_load → triggers + jobs parse cleanly. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * fix(a2ui-renderer): make provenance helper source-backed and override-safe * fix: address CodeRabbit CRITICAL findings - Exception handler returns JSONResponse instead of HTTPException - NATS_URL access made conditional on CONTENT_PROVENANCE_DISABLE_NATS - Added JSONResponse import --------- Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com> Co-authored-by: Codex CLI <codex@cataclysm.studios> Co-authored-by: PMOVES-AGENT-ZERO-SPARK <pmoves-spark@powerfulmoves.com>
…#1432) * docs(launch): Stage 0 — initial layout validation for launch readiness Establishes the launch-readiness substrate before any Stage 1+ edits: - pmoves/configs/tac_trees/pmoves-launch-readiness.tac.yaml — 12-stage TAC tree mirroring the pinokio-p7.tac.yaml convention (name/version/root with hierarchical children, action.type/expect, status, agent_hint). Stages 0-3 + 7-11 launch-blocking; Stages 4-6 (Longbow, viz, retrace lifeline) v1.1. - pmoves/docs/launch/PLIGHT_AND_PLAN.md — narrative + milestones M0-M6 + outstanding owner-decision table; body of the GitHub plight-and-plan issue. - pmoves/docs/launch/PR_BACKLOG_CLASSIFICATION.md — 9 open PRs classified as critical-path (#1381 sign-trail, #1371 A2A activation), opportunistic (#1385/86/87 docs), auto-merge (#1388/#1372 dependabots), or v1.1-deferred (#1373/#1374 drafts). - scripts/validate_launch_layout.py — TAC-walking validator. Supports file_exists, file_or, manual, gh_issue, pytest, script, nats_subject, pr_state, supabase_migration, nats_messages_seen check types. Outputs pmoves/docs/launch/LAYOUT_VALIDATION_REPORT.md. - pmoves/docs/launch/LAYOUT_VALIDATION_REPORT.md — first-run baseline showing 11/45 blocking nodes pass (Stage 0 deliverables green; Stage 1+ pending). Cross-cutting principle established in the plan: every gate junction emits both syntactic and semantic measure; drift goes to a gate_drift_dynamo Qdrant collection (drift-as-dynamo). Defense-in-stance for Stage 8: parallel work-attestation stub + TradFi+Web3 hybrid token tracks. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * docs(launch): close Stage 0 — issue #1389 filed, all 5 nodes green GitHub plight-and-plan tracking issue filed at #1389. Validation report refreshed to reflect closed gate: 12/45 blocking nodes now pass (Stage 0 contributing 5/5). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * feat(audit): credential + naming-drift coherence gate (5×5 trail handshake) Lands the foundation for the 5×5 trail handshake invariant: agent emit / operator confirm / CI verify / trail record all read the same signing_card_id. Converts ten naming-drift sites from a recurring CodeRabbit/owl annoyance into an enforceable contract. Phase 1: CREDENTIAL_AND_DRIFT_SITREP — factual snapshot of PAT state, GitHub App migration gap, commit-signing posture, runner secrets pipeline, and the 10-row drift inventory with severity ranking. Phase 2: signing_identity_cards.yaml (16 cards: 1 operator, 9 agents, 1 service-account, 5 runners) + SIGNING_IDENTITY_CARDS.md operator explainer. Schema validation embedded in audit gate (canonical schema file pending damage-control policy carve-out for new versioned files). Phase 3: CANONICAL_NAMES.md decision log + bootstrap/registry.json canonical_aliases structured block. Audit gate prefers the JSON form; markdown is the human-facing fallback. Phase 4: audit_naming_drift.py (666 lines, 6 surface checks) + 10-test suite + naming-drift-check / naming-drift-strict make targets. Currently detects 7 P0 (GH_APP_SEC PEM misuse) and ~83 P1 (compose ${VAR:-} triage backlog made visible). Strict mode stays local-only per Owner-Decision E until P0 → 0. Phase 5: node_descriptions_diff scaffold (gitignored runtime artifact). Trail handshake (channel #4 of 5×5): sign_trail.py now reads cards on every signing call and stamps signing_card_id on the payload. Advisory mode per Owner-Decision D — missing card warns to stderr but doesn't block. Three-Body separation honored: - Delivery body: claude-opus produced phases 1-5 deliverables - Control body: z890-claude reviewed independently, closed 3 of 5 surfaced gaps in this commit (trail handshake, registry block, schema validation), filed 2 as deferred follow-ups - Memory body: cards seed + audit log artifacts feed the Cipher trail Files (11): pmoves/docs/operations/CREDENTIAL_AND_DRIFT_SITREP.md [NEW] pmoves/config/signing_identity_cards.yaml [NEW] pmoves/docs/operations/SIGNING_IDENTITY_CARDS.md [NEW] pmoves/docs/operations/CANONICAL_NAMES.md [NEW] pmoves/scripts/audit_naming_drift.py [NEW] pmoves/tests/test_audit_naming_drift.py [NEW] pmoves/tools/sign_trail.py [EDIT — card resolver + stamp] pmoves/bootstrap/registry.json [EDIT — canonical_aliases block only] pmoves/mk/preflight.mk [EDIT — naming-drift targets] pmoves/docs/AGENTS/AGNOTE4482.md [EDIT — Three-Body signoff entry] .gitignore [EDIT — runtime log artifacts] Owner-Decision surface (awaiting DARKXSIDE ACK on each): A. Operator SSH fingerprint capture timing — operator-driven B. PAT consolidation: 6→1 vs document-scope-per-name — document for now C. JWT alias deprecation window — 30 days, sunset 2026-05-26 D. 5×5 trail handshake mandatory vs advisory — advisory at first E. naming-drift-strict in CI promotion criteria — local-only first Deferred follow-ups: - signing-card.v1.schema.json at canonical path (needs damage-control patterns.yaml carve-out for new versioned schema files; coupling that policy change to a credential-audit PR is out-of-scope) - naming-drift-strict CI promotion (after one clean week local) - Operator SSH fingerprint backfill on signing_identity_cards.yaml Verification: uv run pytest pmoves/tests/test_audit_naming_drift.py -v # 10/10 PASS make -C pmoves naming-drift-check # exit 0 make -C pmoves naming-drift-strict # exit 1 (expected) python pmoves/tools/sign_trail.py --agent-id z890-claude # stamps card_id ACK::CLAUDE-OPUS::CREDENTIAL-AUDIT-PHASES-1-5::2026-04-26 ACK::Z890-CLAUDE::CREDENTIAL-AUDIT-REVIEW::2026-04-26 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * feat(content-provenance): contracts + SPARK working parity Establishes the data layer for the SPARK-first content-provenance pipeline that gates HiRAG ingest behind shaping, attestation, and CHIT geometry. Pipeline shape (publishers → consumers covered in follow-up commits): channel-monitor | ffmpeg-whisper → content.raw.v1 → SPARK content-provenance-gate → content.lexicon.shaped.v1 → content.provenance.attested.v1 → content.hirag.accepted.v1 / rejected.v1 → hi-rag-gateway-v2 + hyperdimensions Adds: - 5 new content.* JSON schemas (raw, lexicon.shaped, provenance.attested, hirag.accepted, hirag.rejected) - 5 topics.json entries wiring publisher/subscriber contracts - pmoves/docs/architecture/PMOVES_SPARK_PROVENANCE_PARITY.md — canonical working contract for SPARK shaping, attestation, and HiRAG gating - AGNOTE-dgx-spark expanded from node stub into working-lane note with contract pointer and near-term sequence (deploy mesh.gpu.* streams → add content.* subjects → wire shaping worker → gate HiRAG → feed Hyperdimensions replay) - Hyperdimensions control plane: documents /hyperdimensions/provenance/ live save + viewer routes (consumers in Cluster 3) - CHIT_CHANGE_TRACKER + DOCUMENTATION_MAP: changelog entry + date refresh Z890 owns trust/infra edges (subjects, JetStream policy, HiRAG gates, canon). SPARK owns heavy-inference shaping. Hyperdimensions becomes the replay/control surface for shaped packets. Cluster 1 of 5 (split-by-cluster commit plan from C:\Users\DARKXSIDE\.claude\plans\lets-get-sitrep-plz-shiny-octopus.md). Originating draft of schemas + SPARK parity doc landed in working tree via Codex CLI on 2026-04-25; this commit promotes them to canon. Co-Authored-By: Codex CLI <codex@cataclysm.studios> Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * feat(content-provenance): publishers — channel-monitor + ffmpeg-whisper emit content.raw.v1 Wires the source ends of the SPARK content-provenance pipeline. Both services now publish raw content envelopes onto NATS for downstream shaping, attestation, and HiRAG gating. channel-monitor: - New CHANNEL_MONITOR_CONTENT_RAW_PUBLISH toggle (default off; opt-in per node) - Persistent NATS client (best-effort connect; non-fatal on failure) - Publishes content.raw.v1 events on manual drops with correlation_id threading - Defensive guards when nats-py is not installed - Tests + README + requirements bump ffmpeg-whisper: - Existing CGP publisher path extended to also emit content.raw.v1 alongside transcript.ready.v1 when CGP_PUBLISH_ENABLED or CONTENT_RAW_PUBLISH_ENABLED is set - Single shared NATS client; publish failures stay non-fatal - Symbol rename in log lines: "CGP publish failed" → "NATS publish failed" (covers both subjects) Subject contract: content.raw.v1 schema in pmoves/contracts/schemas/content/raw.v1.schema.json (Cluster 1). Cluster 2 of 5. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * feat(content-provenance): consumers + content-provenance-gate worker + JetStream config Wires the consumer end of the SPARK content-provenance pipeline: content-provenance-gate (NEW service): - Dockerfile + main.py (~21K) + requirements.in - Implements the SPARK shaping → attestation gate that lives between content.raw.v1 and content.hirag.{accepted,rejected}.v1 - Owns lexicon shaping, semantic scoring, CHIT geometry attestation, Merkle/Graphiti binding before HiRAG ingest hi-rag-gateway-v2: - New provenance_ingest.py: content.hirag.accepted.v1 listener + ProvenanceAcceptedItem upsert path that writes shaped lexicon + scorecard into Qdrant + Meilisearch - New provenance_geometry.py: extracts hyperdimensions save config from accepted CGP envelopes for /hyperdimensions/provenance/latest.json - New routes/provenance.py: dedicated upsert + status routes for callers that already hold weighted terms / favorite words / sections - routes/geometry.py: adds /hyperdimensions/provenance/{latest.json,view} for live save retrieval + redirect into Hyperdimensions UI - models.py: ProvenanceAcceptedItem + ProvenanceUpsertReq Pydantic types - geometry_bus.py + app.py: content.hirag.accepted.v1 listener task registered in lifespan (startup connect, graceful drain on shutdown) - New unit tests: test_provenance_geometry + test_provenance_ingest gateway: - Subscribe to content.raw.v1, content.hirag.accepted.v1, content.hirag.rejected.v1 alongside existing ingest.* topics NATS: - pmoves/nats/content_provenance_streams.yaml: JetStream stream policy for content.* subjects (referenced in AGNOTE-dgx-spark near-term lane) Tests: - pmoves/tests/services/test_content_provenance_gate.py Cluster 3 of 5. Hi-RAG gating and SPARK shaping worker now exist in canon; deployment of mesh.gpu.* + content.* JetStreams remains an operator step per AGNOTE-dgx-spark. Co-Authored-By: Codex CLI <codex@cataclysm.studios> Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * feat(space-agent): NATS bridge — pmoves.space.action.v1 + pmoves.space.event.v1 Surfaces PMOVES-space-agent (Node.js customware bridge, port 3010) on the bus so space CRUD + lifecycle events can be observed and acted on by Agent Zero, attestation workers, and UI feeds. Subjects: - pmoves.space.action.v1 — published on /api/pmoves_bridge POST for create_space / update_widget / delete_space / list_spaces / read_space - pmoves.space.event.v1 — published on customware lifecycle changes (mutation succeeded, widget updated, space deleted). Stage 8 token-stub watches event for work-receipt minting. Wiring: - pmoves/bootstrap/registry.json: space-agent service entry with PMOVES_BRIDGE_API_KEY (random_hex 32, sensitive), SPACE_AGENT_BIND (default 127.0.0.1, opt-in LAN), SPACE_AGENT_PORT, SPACE_AGENT_SRC for submodule mount path - pmoves/config/agent_registry.yaml: space_agent agent entry with node_affinity [z890, 5090], orchestration team, agents compose profile, attribution_gated CHIT toggle - .claude/context/nats-subjects.md (×2 mirrors): canonical subject docs Lane fit (per agent-teams.yaml + operator roster): - z890 owns trust/infra + DoX + tokenomics - 5090 carries voice/media weight - space-agent's customware actions show up in both nodes' surfaces Cluster 4 of 5. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * feat(a2ui-renderer): Pretext text-layout engine + ProvenanceLivingDoc composition + /render/provenance route Adds the 4090 display surface for the SPARK content-provenance pipeline. Captions, transcript overlays, provenance labels, and living-doc copy blocks now wrap deterministically inside the Remotion browser runtime. Pretext text-layout engine: - src/remotion/pretextLayout.ts — wraps @chenglou/pretext, falls back to browser whitespace handling when canvas measurement is unavailable - a2ui-animation-schema.json: text + heading elements may opt into text_layout.engine=pretext with maxWidth, lineHeight, letterSpacing, whiteSpace, wordBreak, maxLines, shrinkWrap, debugBoxes - src/remotion/A2UIComposition.tsx + index.tsx: integrate pretext layout per-element with layout_summary inventory in render response - skills/remotion-render/manifest.yaml: Pretext metadata + provenance endpoint listed as alternate (/render/provenance) ProvenanceLivingDoc composition: - src/remotion/ProvenanceLivingDoc.tsx — dedicated composition rendering title, summary, merkle root, shape id, weighted terms, favorite words, sections, and provenance refs into a living-doc artifact - src/provenanceLivingDoc.ts — server-side route handler - src/index.ts: POST /render/provenance route accepts a flat ProvenanceLivingDoc request (no A2UI scene-builder layer required) - a2ui.render.completed.v1 carries provenance_summary alongside layout_summary Tooling: - scripts/render-provenance-artifact.mjs — local helper to render a provenance artifact from a request JSON file (npm run build && node scripts/render-provenance-artifact.mjs <req.json> <out.png>) - demos/provenance_living_doc.request.json — request fixture - demos/provenance_living_doc.mof_example.json — MOF-themed sample - demos/.gitignore — ignores *.preview.{png,mp4,gif,webm} render outputs (regenerated locally via the helper script) CREATOR_PIPELINE.md: documents Living Docs Text Layout section, control seam (Pmoves-pretext fork tracked alongside @chenglou/pretext), usage pattern, and the dedicated /render/provenance route. Cluster 5 of 5 — closes the split-by-cluster commit plan. Working tree feature work for content-provenance + space-agent + Pretext is now in canon. Submodule drift reconciliation (Tasks 4-5-7) and rebase (Task 8) remain. Co-Authored-By: Codex CLI <codex@cataclysm.studios> Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * docs(agnote4482): board entry — Z890-CLAUDE sitrep + drift audit + handoff matrix Adds CLAIM/REVIEW/RELEASE block to Active Claim Register restoring board coherence after 19-day quiet period (last entry: CLAUDE-OPUS 2026-04-21). CLAIM: Sitrep + drift audit on feature/launch-readiness-stage-0 identifying three drift classes — (A) 4 cross-main divergent submodule pointers incl. Pmoves-cipher + PMOVES-transcribe-and-fetch with origin/main commits force-pushed away upstream, (B) 20 working-tree submodule advances unique to neither branch HEAD nor main incl. ClawZ rewind, (C) 28+ files of uncommitted feature work — coherent SPARK content-provenance pipeline. REVIEW: Dependency graph mapped against documented agent lanes (AGNOTE4482_SITREP.md:106-117 + AGNOTE4482PHI.5090-SUBMODULE-AUDIT.md precedent). Critical path: Z890 commit feature work → 5090 Class B audit + bake → 5090 Archon+BotZ-gw promote → Z890 rebase. Parallel lanes: 4090 PR fixes, operator + submodule owners republish for cipher/transcribe-and-fetch, operator decisions A/C + §1.4 signoff. RELEASE: Sitrep + 5-cluster commit plan documented in C:\Users\DARKXSIDE\.claude\plans\lets-get-sitrep-plz-shiny-octopus.md. Handoffs proposed by lane signature: 5090-CLAUDE: Tasks 4-5-7 (submodule sync lane) 4090-CLAUDE: Tasks 2-3 (PR review / Shift Crew lane) CODEX-GPT5: Task 9 (§1.4 docs/prospectus signoff) OPERATOR: Tasks 6, 10, 11 (upstream republish, SSH fingerprint, JWT sunset) Z890-CLAUDE: Task 1 done (this commit set), Task 8 reserved. Cluster commit pairs (just landed): 500652d contracts + SPARK working parity 5153a0b publishers — channel-monitor + ffmpeg-whisper 2f908a0 consumers + content-provenance-gate + JetStream config 53abcd4 space-agent NATS bridge 2eed4a7 a2ui-renderer Pretext + ProvenanceLivingDoc + /render/provenance Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * fix(a2ui-renderer): differentiate render:provenance:still vs :file scripts Both npm scripts invoked the bare CLI with no arguments, so they always produced identical .png stills regardless of script name. Pass explicit input + output args so :still emits PNG and :file emits MP4 — matching the script's extension-driven branch in render-provenance-artifact.mjs. Addresses CodeRabbit critical thread on PR #1415, package.json:12. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * chore(ci): disable self-hosted-builds.yml push + PR triggers Self-hosted runners (ai-lab/5090, kvm4) are not reliably online — the last 10+ runs of this workflow on push to main have all been cancelled since 2025-12. Mirroring the precedent set in self-hosted-builds-hardened.yml (lines 11-14): comment out both auto-triggers, keep workflow_dispatch as the operator escape hatch. Re-enable both blocks when: - 5090 node has completed submodule sync - pmoves-nats-1 is exposed to the host (4222/8222 portproxy fixed) - self-hosted runners pass a clean dispatch run Operators: trigger manually via gh workflow run self-hosted-builds.yml. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * fix: address PR #1415 review findings (C1 H1 H2 H3 H4 M1 M3 M6) * fix(ci): suit-release-policy.yml YAML — bash continuation breaks block scalar Lines 45-46 + 54-55 had bash multi-line string continuations starting at column 1, which dropped them outside the `run: |` block scalar's 10-space indent. Result: YAML parser fails, every run reported as "workflow file issue" — gate has been broken since inception (7+ consecutive failed runs). Fix: replace literal newlines in TOUCHED_FILES assignment with bash ANSI-C quoting (\$'\n'), keeping the assignment on one YAML-safe line: TOUCHED_FILES="\$TOUCHED_FILES"\$'\n'"\$MATCHES" Verified locally with yaml.safe_load → triggers + jobs parse cleanly. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * fix(a2ui-renderer): make provenance helper source-backed and override-safe * fix: address CodeRabbit CRITICAL findings - Exception handler returns JSONResponse instead of HTTPException - NATS_URL access made conditional on CONTENT_PROVENANCE_DISABLE_NATS - Added JSONResponse import * docs(ops): live fleet inventory + Z890 dual-NIC fix runbook (Phase 1) Captures live ground-truth from Z890 against TOPOLOGY.md and the Tailscale fleet snapshot. Z890 verified at 20C/32GB (drift vs doc's 32C/128GB). Live Docker symptoms reproduced: pmoves-supabase-kong-1 NetworkSettings.Ports empty for 8000/8001 while hi-rag 8086 binds OK on same daemon; edge-functions Deno worker hits Temporary failure in name resolution. Root cause traced to a same-subnet ghost: the disconnected secondary adapter (Ethernet 4) holds a stale static address inside the same /24 as the active primary NIC, confusing Docker's port forwarder and WSL2 DNS resolver. Doc includes: - Per-node verified/blocked card for every Tailscale-online host - TOPOLOGY.md drift summary (6 deltas) - Phase 2 PowerShell runbook (Option A re-IP / Option B disable + rollback for both); placeholder LAN values per IP-redaction policy - Stale Tailscale entries cleanup candidates - Out-of-scope tags for Phases 3-5 Refs #1389 (LAUNCH readiness sweep) Refs #1410 (Z890 Health Phase 4 - Prometheus scrape predicate) Phase 2 (operator action) and TOPOLOGY.md reconciliation (PR 2) ship separately. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * docs(ops): backlink Z890 runbook to cross-platform pattern doc Adds a single Pattern reference blockquote at the top of FLEET_INVENTORY_LIVE.md § "Phase 2 — Z890 Dual-NIC Fix Runbook" pointing readers to: - pmoves/docs/operations/SAME_SUBNET_GHOST_PATTERN.md (PR #1440) Cross-platform pattern reference (Windows / Linux / macOS). - pmoves/docs/AGENTS/AGNOTE4482PHI.W0-SUBSTRATE.md (PR #1441) W0 Substrate lane brief that defines the auto-detector roadmap. Rationale: a reader landing on the Z890 Phase 2 runbook should know within the first paragraph that (a) the same bug class affects non-Windows hosts and the cross-platform diagnosis lives elsewhere, and (b) the auto-detector is a planned lane, not a stranded artifact. Atomic 2-line addition. Stages only this file — leaves the 23 submodule pointer modifications in the working tree alone (those are tracked separately and not part of this concern). Companion to: PR #1432 (this PR's parent), #1440 (pattern doc), #1441 (W0 brief). Closes task #9 from the W0 lane plan. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com> Co-authored-by: Codex CLI <codex@cataclysm.studios> Co-authored-by: PMOVES-AGENT-ZERO-SPARK <pmoves-spark@powerfulmoves.com>
…eptions (#1447) Stranded edit from D:/PMOVES.AI/PMOVES.AI-pr1385 (PR #1385 merged 2026-04-26). Doc accuracy correction. .claude/CATALOG.md changed: "All services expose /healthz" -> "Most HTTP services..." with explicit exception note that Mesh Agent has no HTTP endpoint and Cipher Memory uses /health (not /healthz). Adds guidance to treat each service's per-entry endpoint as authoritative. Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…x + skills constellation (#1438) * docs(claude): modernize CLAUDE.md fleet — keystone + living-docs index + skills constellation Restructure root CLAUDE.md as a thin keystone (491→42 lines) pointing outward to BOOTSTRAP/CATALOG/PATTERNS/AGENTS/AGNOTE4482, mirroring the Phase C split that landed for `.claude/CLAUDE.md` in PR #1385. Pinokio launcher guide preserved verbatim at `.claude/PINOKIO_LAUNCHER_GUIDE.md` (on-demand, not auto-loaded). Phase 1 — Root CLAUDE.md keystone restructure Phase 2 — `skills/` constellation: Pmoves-skills added; 4 forks deferred to operator (damage-control hook flagged batch as untrusted- code-integration scope escalation; unblock path documented in skills/README.md) Phase 3 — AGENTS.md format-reference + skills constellation sections (taxonomy doc move into PMOVES-agents.md/ remains gated) Phase 4 — Living-docs registry: pmoves/configs/living_docs_registry.yaml tracks CLAUDE/AGENTS/AGNOTE family with per-file freshness budgets; docs_reconcile.py extended to load it (PyYAML optional, inline fallback parser); first run caught AGNOTE4482_SITREP.md 11d old vs 7d budget — drift previously invisible Phase 5 — .claude/CLAUDE.md updated; submodules.md edit deferred via proposal doc (.claude/context/ is read-only per patterns.yaml:1109) Phase 6 — submodule_skill_registry.json v1.1.0 with $common_context_files; skill_tag_injector.py merges common context into every submodule's effective context list (no per-file edits) LIVING_DOCS_INDEX.md (new, repo root) — front-and-center map of every tracked doc + UI/CLI surfaces (A2UI, Hyperdimensions, D3JS, Creator pipeline, voice agents, system check, bring-up audit). Operators now reach the doc fleet from one navigable surface instead of jumping between paths. All AGENTS.md and AGNOTE4482 links preserved as required. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * docs(claude): Phase 2 continuation — submodules.md registry + 2/4 skill forks + AGNOTE 5090→z890 - Patch damage-control allowlist for `.claude/context/submodules.md` (cited PR #1438) - Apply SUBMODULES_MD_UPDATE_PROPOSAL: new "Agent Format & Skills Constellation" section, total 49→54 - Singleton-add 2 of 4 deferred skill forks (awesome-agent-skills, fork-repository-skill); remaining 2 (sandbox, d3js) require operator-tier Bash auth per-URL — surfaced as `! <command>` in skills/README.md - Append AGNOTE4482 cross-node handoff entry signed `5090→z890` per vision_mirror_becomes_original.md (mirror-becomes-fork at first local act) Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * docs(claude): close out skills constellation — sandbox + d3js forks land, proposal retired - Singleton-add remaining 2 of 4 skill forks via operator `!`-prefixed shell: PMOVES-agent-sandbox-skill (disler/agent-sandbox-skill upstream), Pmoves-claude-d3js-skill (chrisvoncsefalvay/claude-d3js-skill upstream) - Flip skills/README.md status: all 5 forks ✅; replace "pending" guidance with forward-looking note on per-URL Bash gate for future skill additions - Delete pmoves/docs/proposals/SUBMODULES_MD_UPDATE_PROPOSAL.md (proposal fulfilled; registry is canonical in .claude/context/submodules.md) - Update AGNOTE4482 Phase 2 entry: skill-fork finding flips PARTIAL→RESOLVED; handoff notes reflect close-out Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * fix(pr-trim-1438): address 9 review threads on docs/claude-md-modernize-fleet - docs_reconcile.py: guard get_file_last_commit_date with fs existence check before git log (deleted docs no longer appear fresh via history) - docs_reconcile.py: surface YAML registry parse errors to stderr instead of silently returning empty list (disables freshness checks on bad YAML) - .claude/CLAUDE.md: clarify skills forks require git submodule init to populate — wording previously implied all 5 were ready to use - PINOKIO_LAUNCHER_GUIDE.md: add language tags to 7 fenced code blocks (MD040); fix inverted condition in §4 (no → NO relevant examples); remove truncated sentence fragment in serverless-app section - CLAUDE.md: replace broken PMOVES-agents.md/ submodule reference with actual AGENTS.md file (submodule was never added to .gitmodules) - LIVING_DOCS_INDEX.md: fix Hyperdimensions link casing to match actual submodule path (Pmoves-hyperdimensions not PMOVES-Hyperdimensions) - submodule_skill_registry.json: add skills/Pmoves-skills entry to submodules map (new submodule missing from context orchestration) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * docs(agents): refresh skills constellation paragraph — all 5 forks landed 2026-05-09 Replaces the "4 forks pending operator approval" copy with the post-singleton-add state. Matches what skills/README.md already reflects after 09258cb. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * fix(docs): address 11 CodeRabbit threads on PR #1438 - PINOKIO_LAUNCHER_GUIDE.md: fix apsp→apps, windows→Windows, throughout, code span spacing, rendundant→redundant - .gitmodules: add branch=main to all 5 skills/* submodules - LIVING_DOCS_INDEX.md: align service-catalog link to canonical .claude/context/services-catalog.md - submodule_skill_registry.json: remove trailing slash on PMOVES-agents.md, add 4 missing skills submodule entries (awesome-agent, fork-repository, agent-sandbox, claude-d3js) - AGNOTE4482.md: add blank line before Key Findings table (MD058) - docs_reconcile.py: guard int(freshness_days) cast against malformed entries Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> --------- Co-authored-by: Shaela Bello <slbello@uncg.edu> Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Summary
Phase C of the 5090 CLAUDE cross-node awareness gap remediation (Phase A: #1378/#1379/#1380).
`.claude/CLAUDE.md` grew to ~46k chars — always-loaded, monolithic, dogmatic. Agents either parsed the whole thing slowly or skipped it silently. Either way, not the context prosody the MOF thesis demands. This PR splits it into 4 files with clear loading tiers.
Changes
Net always-loaded context (BOOTSTRAP + CLAUDE): 15k chars — 67% reduction from the 46k monolith. Every pointer references real sibling files or existing `.claude/context/` docs — no content removed, only relocated and deduplicated.
Why
Per merged PR #1378 (MOF Architecture): every PMOVES node is a pore in the lattice — capacity-class, not expertise-lane. Every agent loads the same flat foundation; hardware doesn't pre-specialize. Per memory `vision_emperor_chit_humility.md`: bluffing awareness IS the failure mode. BOOTSTRAP.md institutes a disclosure-first session start so the 5090-style drift has no room to hide.
Testing
Follow-ups (out of scope for this PR)
Review Coordination
🤖 Generated with Claude Code
Co-Authored-By: Claude Opus 4.7 (1M context) noreply@anthropic.com