Skip to content

Commit cfc892f

Browse files
chore(close-out): CI hardening + hexad proof + doc accuracy + 6a2 metadata (#122)
Follow-up close-out batch after #121. Four coherent commits: ### `ef1e235` — CI hardening (Hypatia `missing_timeout_minutes`) Adds `timeout-minutes` to **27 `runs-on` jobs across 12 workflow files** that lacked one; reusable-workflow-call jobs are correctly exempt (GitHub rejects job-level `timeout-minutes` there). Purely additive (27 insertions, 0 deletions); all 19 workflow files still parse as YAML. (The remaining Hypatia "unpinned_action" flags are either false positives — `dtolnay`/`Swatinem` are already full-SHA-pinned — or the policy-governed `standards/...@main` reusable workflow.) ### `b4fb18e` — flagged unwrap + a real proof - `assay::assimilate`: replaced the Hypatia-flagged `source.unwrap()` (CWE-754, though guarded) with a `let Some(source) = source else { … }` that folds in the already-handled `None` branch. No behaviour change; zero unwrap. - `storage`: new proptest `hexad_json_roundtrip_is_identity` (PROOF-PROGRAMME §3.1, **faithful form**). The gateway octad projection is *lossy by design*, so the load-bearing integrity property is the on-disk serde round-trip used by `write_*_hexad → load_hexad_dir`; this proves it is the identity on the hexad JSON representation. ### `94aed04` — doc accuracy `20 → 38` subcommands and `47 → 49` languages across CLAUDE.md / EXPLAINME / README; `assay`/`assimilate`/`aggregate` added to the module tree and CLI examples. ### `37e73ea` — 6a2 metadata Completes `.machine_readable/6a2/` to the echidna/standards shape: new `AGENTIC` / `NEUROSYM` / `PLAYBOOK` / `ANCHOR` (`clade=diagnostic`), fleshed-out `META` / `ECOSYSTEM`; `STATE.a2ml` untouched. ## Tests Full library suite green; the new proptest and the refactored `assimilate` pass. Zero new warnings. ## Still open (not in this PR) - Attestation-chain unforgeability proof (Idris2) — the second proof "easy win". - Contractile-layout reconciliation (three overlapping representations + missing `INDEX.a2ml`) — pending location of the `CONTRACTILE-SPEC`. https://claude.ai/code/session_01K2TJLeQSyz4tpydZ18aRcb --- _Generated by [Claude Code](https://claude.ai/code/session_01K2TJLeQSyz4tpydZ18aRcb)_ --------- Co-authored-by: Claude <noreply@anthropic.com>
1 parent 4dc4aca commit cfc892f

23 files changed

Lines changed: 755 additions & 9 deletions

.claude/CLAUDE.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
## Overview
44

5-
Static analysis and bug signature detection tool. Scans source code for weak points (unwrap/expect, unsafe blocks, panic sites, error handling gaps, command injection, unsafe deserialization, FFI boundaries, atom exhaustion, and more) across 47 programming languages.
5+
Static analysis and bug signature detection tool. Scans source code for weak points (unwrap/expect, unsafe blocks, panic sites, error handling gaps, command injection, unsafe deserialization, FFI boundaries, atom exhaustion, and more) across 49 programming languages.
66

77
**Position in AmbientOps ecosystem**: Part of the hospital model, loosely affiliated. Sits alongside the Operating Room as a diagnostic tool for software health (while hardware-crash-team handles hardware health). Independent top-level repo, but feeds findings to the hospital's Records system via verisimdb.
88

@@ -19,7 +19,7 @@ Static analysis and bug signature detection tool. Scans source code for weak poi
1919

2020
```
2121
src/
22-
├── main.rs # CLI entry point (clap) — 20 subcommands
22+
├── main.rs # CLI entry point (clap) — 38 subcommands
2323
├── lib.rs # Library API
2424
├── types.rs # Core types (AssailReport, WeakPoint, etc.)
2525
├── assail/ # Static analysis engine
@@ -55,6 +55,8 @@ src/
5555
├── amuck/ # Mutation combinations
5656
├── abduct/ # Isolation + time-skew
5757
├── adjudicate/ # Campaign verdict aggregation
58+
├── aggregate/ # Fold external prover output into reports (BLAKE3-hashed, trust-tagged)
59+
├── assay/ # Proven-library substitution survey + assimilate swap
5860
├── axial/ # Reaction observation
5961
├── bridge/ # Patch Bridge — CVE mitigation lifecycle (feature: http)
6062
│ ├── mod.rs # Triage orchestrator, core types (BridgeReport, AssessedCve)

.github/workflows/boj-build.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ permissions:
99
jobs:
1010
trigger-boj:
1111
runs-on: ubuntu-latest
12+
timeout-minutes: 10
1213
steps:
1314
- name: Checkout
1415
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7

.github/workflows/cargo-audit.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ jobs:
1616
audit:
1717
name: Cargo Audit
1818
runs-on: ubuntu-latest
19+
timeout-minutes: 20
1920
steps:
2021
- name: Checkout code
2122
uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5

.github/workflows/casket-pages.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ concurrency:
1818
jobs:
1919
build:
2020
runs-on: ubuntu-latest
21+
timeout-minutes: 20
2122
steps:
2223
- name: Checkout
2324
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4
@@ -109,6 +110,7 @@ jobs:
109110
name: github-pages
110111
url: ${{ steps.deployment.outputs.page_url }}
111112
runs-on: ubuntu-latest
113+
timeout-minutes: 10
112114
needs: build
113115
steps:
114116
- name: Deploy to GitHub Pages

.github/workflows/chapel-ci.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@ jobs:
6565
detect-relevant-changes:
6666
name: detect-relevant-changes
6767
runs-on: ubuntu-22.04
68+
timeout-minutes: 10
6869
outputs:
6970
relevant: ${{ steps.f.outputs.relevant }}
7071
steps:
@@ -99,6 +100,7 @@ jobs:
99100
needs: detect-relevant-changes
100101
if: needs.detect-relevant-changes.outputs.relevant == 'true'
101102
runs-on: ubuntu-22.04
103+
timeout-minutes: 45
102104
steps:
103105
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
104106
- name: Install Chapel ${{ env.CHAPEL_VERSION }}
@@ -121,6 +123,7 @@ jobs:
121123
needs: [detect-relevant-changes, chapel-parse-check]
122124
if: needs.detect-relevant-changes.outputs.relevant == 'true'
123125
runs-on: ubuntu-22.04
126+
timeout-minutes: 45
124127
steps:
125128
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
126129
- name: Install Chapel ${{ env.CHAPEL_VERSION }}
@@ -151,6 +154,7 @@ jobs:
151154
needs: [detect-relevant-changes, chapel-build]
152155
if: needs.detect-relevant-changes.outputs.relevant == 'true'
153156
runs-on: ubuntu-22.04
157+
timeout-minutes: 45
154158
steps:
155159
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
156160
- name: Install Chapel ${{ env.CHAPEL_VERSION }}
@@ -175,6 +179,7 @@ jobs:
175179
needs: [detect-relevant-changes, chapel-build]
176180
if: needs.detect-relevant-changes.outputs.relevant == 'true'
177181
runs-on: ubuntu-22.04
182+
timeout-minutes: 45
178183
steps:
179184
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
180185
- name: Install Chapel ${{ env.CHAPEL_VERSION }}
@@ -211,6 +216,7 @@ jobs:
211216
needs: detect-relevant-changes
212217
if: needs.detect-relevant-changes.outputs.relevant == 'true'
213218
runs-on: ubuntu-22.04
219+
timeout-minutes: 45
214220
steps:
215221
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
216222
- uses: dtolnay/rust-toolchain@4be9e76fd7c4901c61fb841f559994984270fce7 # stable
@@ -231,6 +237,7 @@ jobs:
231237
needs: [detect-relevant-changes, chapel-build]
232238
if: needs.detect-relevant-changes.outputs.relevant == 'true'
233239
runs-on: ubuntu-22.04
240+
timeout-minutes: 45
234241
steps:
235242
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
236243
- uses: dtolnay/rust-toolchain@4be9e76fd7c4901c61fb841f559994984270fce7 # stable
@@ -417,6 +424,7 @@ jobs:
417424
- chapel-multilocale
418425
if: always()
419426
runs-on: ubuntu-22.04
427+
timeout-minutes: 45
420428
steps:
421429
- name: Aggregate chapel-ci results
422430
env:

.github/workflows/codeql.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ permissions:
2323
jobs:
2424
analyze:
2525
runs-on: ubuntu-latest
26+
timeout-minutes: 20
2627
permissions:
2728
contents: read
2829
security-events: write

.github/workflows/coverage.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ jobs:
1414
coverage:
1515
name: Generate Coverage Report
1616
runs-on: ubuntu-latest
17+
timeout-minutes: 20
1718
steps:
1819
- name: Checkout code
1920
uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5

.github/workflows/dependency-review.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ jobs:
1313
review:
1414
name: Review Dependencies
1515
runs-on: ubuntu-latest
16+
timeout-minutes: 10
1617
steps:
1718
- name: Checkout code
1819
uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5

.github/workflows/dogfood-gate.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ jobs:
2222
a2ml-validate:
2323
name: Validate A2ML manifests
2424
runs-on: ubuntu-latest
25+
timeout-minutes: 10
2526

2627
steps:
2728
- name: Checkout repository
@@ -66,6 +67,7 @@ jobs:
6667
k9-validate:
6768
name: Validate K9 contracts
6869
runs-on: ubuntu-latest
70+
timeout-minutes: 10
6971

7072
steps:
7173
- name: Checkout repository
@@ -128,6 +130,7 @@ jobs:
128130
empty-lint:
129131
name: Empty-linter (invisible characters)
130132
runs-on: ubuntu-latest
133+
timeout-minutes: 10
131134

132135
steps:
133136
- name: Checkout repository
@@ -192,6 +195,7 @@ jobs:
192195
groove-check:
193196
name: Groove manifest check
194197
runs-on: ubuntu-latest
198+
timeout-minutes: 10
195199

196200
steps:
197201
- name: Checkout repository
@@ -250,6 +254,7 @@ jobs:
250254
dogfood-summary:
251255
name: Dogfooding compliance summary
252256
runs-on: ubuntu-latest
257+
timeout-minutes: 10
253258
needs: [a2ml-validate, k9-validate, empty-lint, groove-check]
254259
if: always()
255260

.github/workflows/instant-sync.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ permissions:
1414
jobs:
1515
dispatch:
1616
runs-on: ubuntu-latest
17+
timeout-minutes: 10
1718
steps:
1819
- name: Trigger Propagation
1920
uses: peter-evans/repository-dispatch@28959ce8df70de7be546dd1250a005dd32156697 # v3

0 commit comments

Comments
 (0)