Skip to content

chore: Claude Code web config + ADR-0011 documenting the V-L2-F2 json drop#149

Merged
hyperpolymath merged 1 commit into
mainfrom
claude/wrap-up-v-l2-f2
May 30, 2026
Merged

chore: Claude Code web config + ADR-0011 documenting the V-L2-F2 json drop#149
hyperpolymath merged 1 commit into
mainfrom
claude/wrap-up-v-l2-f2

Conversation

@hyperpolymath
Copy link
Copy Markdown
Owner

Wrap-up housekeeping after #112 (drop the json sidecar store — #144/#147). No production code changes.

Documentation

  • ADR-0011 (docs/decisions/0011-sidecar-storage-is-relational.adoc) — records the V-L2-F2 decision: the octad data layer's invariants (BEGIN IMMEDIATE hash chains, the partial-unique "one current version" temporal index, CHECK-constrained closed enums, the lineage self-edge CHECK, self-referencing FKs) are enforced structurally by the relational engine, so a JSON document store was dropped rather than re-implementing them in application code. Supported [sidecar].storage is closed to sqlite + postgres, with from_storage the single source of truth.
  • CHANGELOG — adds a Removed entry for the json-store drop.
  • README — the legacy [tier1.provenance] example advertised sqlite | file | verisim; corrected to the actually-supported sqlite | postgres.

Config — Claude Code on the web

  • .claude/settings.json + .claude/hooks/session-start.sh — a synchronous SessionStart hook that warms the Cargo dependency + build cache so cargo build/test/clippy/fmt are ready immediately in web sessions, plus a read-only permission allowlist (git/cargo/GitHub-MCP reads) to cut prompts. The hook is web-only (guarded on CLAUDE_CODE_REMOTE) and idempotent.

Validation

  • Hook runs cleanly in remote mode and no-ops when not remote (guard verified); settings.json is valid JSON.
  • cargo fmt --all -- --check, cargo clippy --all-targets -- -D warnings, and cargo test (120 lib + 21 integration) all green.

Part of the #112 / V-L2-F2 wrap-up.


Generated by Claude Code

Wrap-up housekeeping after #112 (drop the json sidecar store, #144/#147):

Documentation
- docs(adr): 0011-sidecar-storage-is-relational records the decision —
  the octad data layer's invariants (BEGIN IMMEDIATE hash chains,
  partial-unique "one current version" temporal index, CHECK-constrained
  closed enums, lineage self-edge CHECK, self-referencing FKs) are
  enforced structurally by the relational engine, so a JSON document store
  was dropped rather than re-implementing them in application code. The
  supported [sidecar].storage set is closed to sqlite + postgres, with
  from_storage as the single source of truth.
- docs(changelog): add a Removed entry for the json store drop.
- docs(readme): the legacy [tier1.provenance] example advertised
  "sqlite | file | verisim"; correct it to the actually-supported
  "sqlite | postgres".

Config (Claude Code on the web)
- chore(config): add .claude/settings.json with a synchronous SessionStart
  hook (.claude/hooks/session-start.sh) that warms the cargo dependency +
  build cache so cargo build/test/clippy/fmt are ready immediately in web
  sessions, plus a read-only permission allowlist (git/cargo/GitHub-MCP
  reads) to cut prompts. The hook is web-only (guarded on
  CLAUDE_CODE_REMOTE) and idempotent.

No production code change. fmt/clippy/test all green locally.

https://claude.ai/code/session_01Ux144vBDdySvLUqUrCgkT4
@hyperpolymath hyperpolymath marked this pull request as ready for review May 30, 2026 23:13
@hyperpolymath hyperpolymath merged commit f8815bc into main May 30, 2026
11 of 20 checks passed
@hyperpolymath hyperpolymath deleted the claude/wrap-up-v-l2-f2 branch May 30, 2026 23:13
@github-actions
Copy link
Copy Markdown

🔍 Hypatia Security Scan

Findings: 81 issues detected

Severity Count
🔴 Critical 2
🟠 High 7
🟡 Medium 72

⚠️ Action Required: Critical security issues found!

View findings
[
  {
    "reason": "Action perpolymath/standards/.github/workflows/governance-reusable.yml@main\n needs attention",
    "type": "unpinned_action",
    "file": "governance.yml",
    "action": "pin_sha",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Action actions/checkout@v4 needs attention",
    "type": "unpinned_action",
    "file": "rust-ci.yml",
    "action": "pin_sha",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Action dtolnay/rust-toolchain@stable needs attention",
    "type": "unpinned_action",
    "file": "rust-ci.yml",
    "action": "pin_sha",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Action Swatinem/rust-cache@v2 needs attention",
    "type": "unpinned_action",
    "file": "rust-ci.yml",
    "action": "pin_sha",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Action actions/checkout@v4 needs attention",
    "type": "unpinned_action",
    "file": "rust-ci.yml",
    "action": "pin_sha",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Action dtolnay/rust-toolchain@master needs attention",
    "type": "unpinned_action",
    "file": "rust-ci.yml",
    "action": "pin_sha",
    "rule_module": "workflow_audit",
    "severity": "high"
  },
  {
    "reason": "Action Swatinem/rust-cache@v2 needs attention",
    "type": "unpinned_action",
    "file": "rust-ci.yml",
    "action": "pin_sha",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Issue in boj-build.yml",
    "type": "missing_timeout_minutes",
    "file": "boj-build.yml",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Issue in casket-pages.yml",
    "type": "missing_timeout_minutes",
    "file": "casket-pages.yml",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Issue in casket-pages.yml",
    "type": "missing_timeout_minutes",
    "file": "casket-pages.yml",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium"
  }
]

Powered by Hypatia Neurosymbolic CI/CD Intelligence

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants