Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
221 commits
Select commit Hold shift + click to select a range
702cdc9
docs(docs): record wave 2 merge and next work
cemililik Oct 15, 2026
bd1da97
docs(docs): propose wave 3 decisions and execution plan
cemililik Oct 15, 2026
6f47c13
docs(docs): complete wave 3 preflight item coverage
cemililik Oct 15, 2026
3996707
docs(docs): record encrypted wave 3 archive selection
cemililik Oct 15, 2026
20af061
docs(docs): record reviewed wave 3 proposal readiness
cemililik Oct 15, 2026
8640081
docs(docs): revise wave 3 proposals against source review
cemililik Oct 15, 2026
3593527
docs(docs): close wave 3 proposal boundary gaps
cemililik Oct 15, 2026
49ba03e
docs(docs): separate wave 3 package tests from release custody
cemililik Oct 15, 2026
a8708a6
docs(docs): record source-corrected wave 3 proposal readiness
cemililik Oct 15, 2026
86ff88a
docs(docs): correct wave 3 ownership and recovery proposals
cemililik Oct 15, 2026
741d0db
docs(docs): preserve wave 3 retry and enumeration invariants
cemililik Oct 15, 2026
c616633
docs(docs): clarify wave 3 partial replacements and scope
cemililik Oct 15, 2026
effab2a
docs(docs): preserve absent inputs in wave 3 secret scopes
cemililik Oct 15, 2026
76065d2
docs(docs): align wave 3 roadmap with its execution plan
cemililik Oct 15, 2026
5a06524
docs(docs): record final wave 3 proposal rereview readiness
cemililik Oct 15, 2026
9e4b925
docs(docs): accept wave 3 decisions and implementation plan
cemililik Oct 15, 2026
c610a4a
fix(cli): complete the wave 3 serialized reliability queue
cemililik Oct 15, 2026
e1e9d69
docs(docs): record independent wave 3 step 1 acceptance
cemililik Oct 15, 2026
8ef7b3b
fix(shared): enforce consistent authored admission invariants
cemililik Oct 15, 2026
26cd4c0
fix(core): share value-free authored parser reasons
cemililik Oct 15, 2026
5df71a4
fix(cli): show schema bounds in numeric config diagnostics
cemililik Oct 15, 2026
7912c5e
docs(docs): record wave 3 step 2 author gates
cemililik Oct 15, 2026
b3560e6
fix(shared): preserve historical session agent snapshots
cemililik Oct 15, 2026
a265e4f
test(db): preserve legacy fallback snapshots through session reads
cemililik Oct 15, 2026
09e5927
docs(docs): record the step 2 historical snapshot correction
cemililik Oct 15, 2026
06f9c8f
fix(shared): separate frozen workflow validation from authoring
cemililik Oct 15, 2026
816b2b9
fix(core): preserve frozen workflow resume and export semantics
cemililik Oct 15, 2026
86370b8
fix(cli): resume historical workflows without authoring rewrites
cemililik Oct 15, 2026
4048526
docs(docs): record complete step 2 historical compatibility gates
cemililik Oct 15, 2026
873da1c
docs(docs): record independent wave 3 step 2 acceptance
cemililik Oct 16, 2026
8813391
fix(core)!: exclude declared secrets at public context boundaries
cemililik Oct 16, 2026
aba979f
test(cli): pin secret context privacy in native history
cemililik Oct 16, 2026
3222a8c
docs(docs): land qualified context contracts and author evidence
cemililik Oct 16, 2026
2f3f3c7
fix(core): preserve expression parity and own context definitions
cemililik Oct 16, 2026
a39bf93
test(cli): pin context ownership and error results in SQLite
cemililik Oct 16, 2026
1728c9b
docs(docs): record step 3 review corrections and author gates
cemililik Oct 16, 2026
b88e878
fix(core): preserve native diagnostic hydration order
cemililik Oct 16, 2026
a2db0b7
docs(docs): record the verified conversion-order correction
cemililik Oct 16, 2026
7567c77
fix(core): retain native primitive and scalar conversion paths
cemililik Oct 16, 2026
5d8c0b0
docs(docs): record native conversion repairs and pending review gates
cemililik Oct 16, 2026
011e1df
docs(docs): accept step 3 and advance the error substrate
cemililik Oct 16, 2026
b11b26d
feat(shared): add common error ancestry and validate event envelopes
cemililik Oct 16, 2026
a1fb05e
refactor(llm): preserve error families on shared ancestry
cemililik Oct 16, 2026
a8a255e
refactor(core): retain engine error contracts on shared ancestry
cemililik Oct 16, 2026
72eccc8
refactor(db): preserve storage error families on shared ancestry
cemililik Oct 16, 2026
22832a1
refactor(mcp): preserve transport error family ancestry
cemililik Oct 16, 2026
84bad49
refactor(cli): retain surface error contracts on shared ancestry
cemililik Oct 16, 2026
b11703a
docs(docs): record error envelope contracts and author evidence
cemililik Oct 16, 2026
b16c3b4
docs(docs): correct step 4 inventory and causal attribution
cemililik Oct 16, 2026
e60b104
docs(repo): accept reviewed wave 3 error envelope substrate
cemililik Oct 16, 2026
7f33585
fix(core): bound tool inputs and preserve engine tail semantics
cemililik Oct 16, 2026
6ee1556
refactor(llm): name model lookup arguments as identifiers
cemililik Oct 16, 2026
395b469
fix(db): order session attribution identifiers by code unit
cemililik Oct 16, 2026
08be6af
fix(cli): make catalog and runtime identity ordering deterministic
cemililik Oct 16, 2026
25cac33
docs(docs): record wave 3 tool and engine tail contracts
cemililik Oct 16, 2026
fd54e22
docs(docs): correct registry boundary and evidence attribution
cemililik Oct 16, 2026
952115d
docs(docs): accept wave 3 tool and engine tail increment
cemililik Oct 16, 2026
af80dca
refactor(shared): expose pure error and filesystem limit leaves
cemililik Oct 16, 2026
e0289de
refactor(cli): add pure process and command descriptor substrate
cemililik Oct 16, 2026
be603f0
test(repo): preserve causal controls across descriptor extraction
cemililik Oct 16, 2026
f3cab0d
docs(docs): record wave 3 process substrate implementation
cemililik Oct 16, 2026
b09008e
docs(docs): accept wave 3 process and discovery substrate
cemililik Oct 16, 2026
88329e4
refactor(shared): expose the pure terminal sanitizer leaf
cemililik Oct 16, 2026
f4e2251
refactor(llm): expose the existing secret scrubber as a pure leaf
cemililik Oct 16, 2026
c99b9a5
refactor(core): expose the pure tool dispatch error base
cemililik Oct 16, 2026
54e0226
refactor(cli): guard lazy runtime and invocation catalog loading
cemililik Oct 16, 2026
ef61eeb
test(repo): enforce compiled cli isolation and emitted graph closure
cemililik Oct 16, 2026
6ffdd63
docs(docs): record wave 3 compiled graph implementation
cemililik Oct 16, 2026
bc79793
docs(docs): accept the wave 3 compiled runtime graph
cemililik Oct 16, 2026
97e9700
build(repo): verify and exercise exact installed cli tarballs
cemililik Oct 16, 2026
7b2b88f
docs(docs): record the installed package implementation boundary
cemililik Oct 16, 2026
42704af
fix(repo): resolve the pnpm action entry on posix
cemililik Oct 16, 2026
0f49e30
test(cli): own compiled leaf checks after dependency builds
cemililik Oct 16, 2026
cd78816
docs(docs): record failed package gates and source corrections
cemililik Oct 16, 2026
897ff9b
fix(repo): preserve bootstrap preload file urls
cemililik Oct 16, 2026
bb9a582
fix(repo): admit exact owned leaves in replay workers
cemililik Oct 16, 2026
eb21b86
docs(docs): record native package gate corrections
cemililik Oct 16, 2026
d0fe14f
fix(repo): join installed native smoke before removing its tree
cemililik Oct 16, 2026
05e1e78
test(repo): refresh exact cohorts and isolate coordinator scratch
cemililik Oct 16, 2026
c836ffe
docs(docs): retain package cleanup and workload gate corrections
cemililik Oct 16, 2026
d9625ff
docs(docs): accept wave 3 installed package gates
cemililik Oct 16, 2026
2f7ddc6
fix(db): preserve owned storage failure provenance
cemililik Oct 16, 2026
189e986
feat(core): expose immutable transient error classifications
cemililik Oct 16, 2026
6b4bda3
fix(cli): classify runtime origins and stage native cleanup
cemililik Oct 16, 2026
a4fcbc0
test(repo): align causal controls with origin adapters
cemililik Oct 16, 2026
e0a5ae1
docs(docs): record step 8a boundaries and completed step 7 ci
cemililik Oct 16, 2026
a5742dd
docs(docs): accept wave 3 step 8a after independent reviews
cemililik Oct 16, 2026
96bd838
feat(mcp): expose creation-owned stdio native lifetime
cemililik Oct 16, 2026
8dcd9b3
feat(cli): own native processes through actual target and helper close
cemililik Oct 16, 2026
1461f0e
test(repo): require installed native process ownership controls
cemililik Oct 16, 2026
e6e9103
docs(docs): record step 8b implementation and exact author evidence
cemililik Oct 16, 2026
375d56f
fix(cli): bound helper reentry and pin native editor fixtures
cemililik Oct 16, 2026
f14b6f8
fix(repo): retain worker failures and refresh control inventories
cemililik Oct 16, 2026
76fb139
docs(docs): record step 8b nonclean reviews and correction gates
cemililik Oct 16, 2026
3fbf197
test(cli): stabilize complete chat control case identities
cemililik Oct 16, 2026
caca3e2
fix(repo): isolate the windows facility refusal control
cemililik Oct 16, 2026
ab50be1
docs(docs): record step 8b evidence corrections and author gates
cemililik Oct 16, 2026
e16a765
docs(docs): reconcile implemented cli failure classifications
cemililik Oct 16, 2026
7c1428a
docs(docs): accept step 8b native process ownership
cemililik Oct 16, 2026
9e4cac7
fix(cli): own workflow preparation and terminal cleanup
cemililik Oct 16, 2026
dbab25d
fix(cli): close autonomous workflow shutdown gaps
cemililik Oct 16, 2026
50d9891
docs(docs): accept wave 3 workflow and terminal integration
cemililik Oct 16, 2026
25e310a
fix(mcp): retain failed-start cleanup uncertainty
cemililik Oct 16, 2026
63bd601
fix(cli): own session preparation and one-shot cleanup
cemililik Oct 16, 2026
f39a360
fix(cli): retain chat and home native session lifetimes
cemililik Oct 16, 2026
12e4138
docs(docs): record partial chat and home ownership integration
cemililik Oct 16, 2026
9798c51
fix(cli): retain management work before fatal activation
cemililik Oct 16, 2026
cd2c038
docs(docs): record management ownership integration evidence
cemililik Oct 16, 2026
a2acba8
fix(cli): activate native invocation shutdown across entry boundaries
cemililik Oct 16, 2026
2928d8e
test(repo): verify installed native bootstrap lifetime
cemililik Oct 16, 2026
e3b0b67
docs(docs): record native activation implementation evidence
cemililik Oct 16, 2026
98259c9
fix(cli): bind workflow secret input to invocation ownership
cemililik Oct 16, 2026
ec8ba36
fix(cli): retain partial input acquisition through native close
cemililik Oct 17, 2026
db82537
fix(cli): capture partial native resources before setup
cemililik Oct 17, 2026
ad743ba
fix(cli): retain auxiliary native resources through final cleanup
cemililik Oct 17, 2026
4b7ba21
fix(mcp): retain live close budgets across deferred manager entry
cemililik Oct 17, 2026
4c36bfb
fix(mcp): notify close faults before sibling cleanup settles
cemililik Oct 17, 2026
bd9bf4c
test(repo): retain native signal evidence in packed controls
cemililik Oct 17, 2026
86f0422
docs(docs): reconcile activated session lifecycle references
cemililik Oct 17, 2026
78b601b
fix(repo): validate observed native group refusal outcomes
cemililik Oct 17, 2026
1688ade
test(db): join fixture close after native error
cemililik Oct 17, 2026
095fb45
test(cli): retain native and acquisition case ownership
cemililik Oct 17, 2026
0974057
docs(docs): record seventh cumulative step 8d correction
cemililik Oct 17, 2026
84e159e
test(cli): own timed-out coexistence work and native setup
cemililik Oct 17, 2026
40086e7
docs(docs): reconcile one-shot teardown and eighth review
cemililik Oct 17, 2026
35b13d0
fix(cli): observe caught one-shot and home writer failures
cemililik Oct 17, 2026
4c0fa5b
docs(docs): record ninth review and reconcile signal summary
cemililik Oct 17, 2026
8b6d5d7
fix(cli): preserve original owners through caught session faults
cemililik Oct 17, 2026
b9bc711
docs(docs): record tenth review and original-owner corrections
cemililik Oct 17, 2026
d8e6b4d
fix(cli): retain owners through advisory recovery
cemililik Oct 17, 2026
518082b
docs(docs): record eleventh review and advisory-owner correction
cemililik Oct 17, 2026
3d93724
fix(cli): preserve cooperative terminals and advisory ownership
cemililik Oct 17, 2026
c15aa31
docs(docs): record twelfth review and cooperative terminal correction
cemililik Oct 17, 2026
afb3b93
fix(cli): retain checkpoint notice delivery ownership
cemililik Oct 17, 2026
dcc23cf
docs(docs): record checkpoint notice correction and review status
cemililik Oct 17, 2026
d6d2fbd
fix(cli): retain original effect-disclosure delivery ownership
cemililik Oct 17, 2026
e218ba0
fix(repo): keep installed worker failure text private
cemililik Oct 17, 2026
eb5d61a
docs(docs): record disclosure correction and remaining wave gates
cemililik Oct 17, 2026
151abaf
fix(cli): retain original home doctor publication and work
cemililik Oct 17, 2026
1ed15ab
fix(repo): align filesystem control workload with fixture cases
cemililik Oct 17, 2026
71a9104
docs(docs): record doctor correction and remaining acceptance gates
cemililik Oct 17, 2026
ea996d6
fix(cli): retain cancelled compaction notification work
cemililik Oct 17, 2026
2891e8f
docs(docs): record compaction correction and remaining review gates
cemililik Oct 17, 2026
1dec7a8
fix(cli): observe onboarding raw-mode failures
cemililik Oct 17, 2026
1f3cce5
docs(docs): record onboarding correction and open review gates
cemililik Oct 17, 2026
f23e0da
fix(cli): observe workflow self-stop failures before recovery
cemililik Oct 17, 2026
df6e663
fix(repo): budget the complete required CI workload
cemililik Oct 17, 2026
261bb82
docs(docs): record self-stop and CI corrections with open gates
cemililik Oct 17, 2026
6cc8bc5
fix(cli): seal delayed chat publication after session stop
cemililik Oct 17, 2026
4eee7c6
docs(docs): record late-publication correction and open review gates
cemililik Oct 17, 2026
50d7309
fix(cli): seal Home results and expired maintenance entry
cemililik Oct 17, 2026
c491836
docs(docs): record Home and maintenance review corrections
cemililik Oct 17, 2026
e7fe93c
fix(llm): retain discovery through actual producer settlement
cemililik Oct 17, 2026
cef520d
fix(cli): join entered media maintenance siblings before release
cemililik Oct 17, 2026
c83c857
test(cli): isolate builder admission from disk chat startup
cemililik Oct 17, 2026
00fb72d
docs(docs): record step 8d acceptance and handoff boundary
cemililik Oct 17, 2026
4762f21
docs(docs): record the scoped wave 3 publication checkpoint
cemililik Oct 17, 2026
0eae1b8
fix(repo): bound diagnostic stack scans to individual lines
cemililik Oct 17, 2026
887ff47
refactor(cli): clarify terminal ownership and gate test setup
cemililik Oct 17, 2026
05061d5
docs(docs): record reviewed pr 95 sonar corrections
cemililik Oct 17, 2026
9d5bcc8
fix(core): preserve full versioned effect argument fingerprints
cemililik Oct 17, 2026
1a5cc24
fix(llm): scrub credential authorities and classify discovery aborts
cemililik Oct 17, 2026
09149f7
fix(core): refuse undeclared context and align tool schema hints
cemililik Oct 17, 2026
ad0533c
fix(mcp): report cleanup faults without acknowledging closure
cemililik Oct 17, 2026
fc427d2
fix(cli): preserve owners through cancellation and cleanup
cemililik Oct 17, 2026
4b1f6f6
test(repo): pin acceptance gates and packaged regressions
cemililik Oct 17, 2026
f0c1fee
docs(db): clarify frozen workflow snapshot validation
cemililik Oct 17, 2026
0d963a1
docs(docs): reconcile pr 95 contracts and evidence
cemililik Oct 17, 2026
e0c27c7
fix(core): avoid impossible full-argument URL scans
cemililik Oct 17, 2026
6d8ebd8
fix(cli): deliver startup cancellation despite cleanup faults
cemililik Oct 17, 2026
3b74d51
test(cli): separate native writer readiness from lock contention
cemililik Oct 17, 2026
4a2e6a9
test(repo): reconcile complete secrets control workloads
cemililik Oct 17, 2026
060830f
docs(docs): record first corrective review and cleanup contracts
cemililik Oct 17, 2026
21411e6
fix(core): mask complete credentials in journal projections
cemililik Oct 17, 2026
63d8de4
docs(docs): record complete credential projection correction
cemililik Oct 17, 2026
1e3029d
fix(core): mask whole structurally identified credentials
cemililik Oct 18, 2026
8d1e931
docs(docs): record structural credential projection correction
cemililik Oct 18, 2026
a9689fa
refactor(core): share credential argument value projection
cemililik Oct 18, 2026
c837cd4
docs(docs): record source scoped review and sonar cleanup
cemililik Oct 18, 2026
c09f192
fix(core): preserve own public data in effect identity
cemililik Oct 18, 2026
0fa599f
fix(core): redact complete spans before diagnostic clipping
cemililik Oct 18, 2026
ba14b1b
fix(core): normalize complete summaries before redaction
cemililik Oct 18, 2026
a5a5d45
docs(docs): record pr 95 corrective review completion
cemililik Oct 18, 2026
cbc4c0c
fix(core): mask complete recognized credential spans
cemililik Oct 18, 2026
e4bb04e
fix(llm): preserve split credential evidence before masking
cemililik Oct 18, 2026
87b7a69
fix(cli): retain safe native and terminal cleanup ownership
cemililik Oct 18, 2026
508115b
fix(repo): verify installed commands and corrective controls
cemililik Oct 18, 2026
02b34e4
docs(docs): reconcile corrective status and canonical contracts
cemililik Oct 18, 2026
ad5a506
fix(cli): bound unacknowledged terminal cleanup faults
cemililik Oct 18, 2026
64774b6
fix(core): select original credential boundaries before matching
cemililik Oct 18, 2026
5393f6b
fix(llm): retain eligible split credential starts
cemililik Oct 18, 2026
b19af1a
test(repo): pin split credential boundary recovery controls
cemililik Oct 18, 2026
dd1c45a
docs(docs): record nonclean review and corrective verification
cemililik Oct 18, 2026
ce6df26
test(llm): bound admitted-size failure diagnostics
cemililik Oct 18, 2026
8e7b9a3
fix(core): bound raw and split credential matching
cemililik Oct 18, 2026
d18c7f8
fix(llm): check original starts for every joined credential rule
cemililik Oct 18, 2026
8773434
test(repo): preserve nested header recovery evidence
cemililik Oct 18, 2026
7e9096a
docs(docs): record second review and bounded matching corrections
cemililik Oct 18, 2026
5d8b058
perf(llm): skip redundant work in finite credential probes
cemililik Oct 18, 2026
db71d5a
fix(cli): preserve raw credential evidence before display formatting
cemililik Oct 18, 2026
daa00a1
test(repo): pin diagnostic display boundary regressions
cemililik Oct 18, 2026
82ab41c
docs(docs): retain third review findings and corrected author evidence
cemililik Oct 18, 2026
aec2d79
ci(repo): isolate compatibility test file workers
cemililik Oct 18, 2026
4efb42c
fix(cli): seal default-write recovery after fatal shutdown
cemililik Oct 18, 2026
498103c
perf(repo): reduce credential preparation without narrowing its evidence
cemililik Oct 18, 2026
122e818
ci(repo): isolate complete coverage and compatibility workloads
cemililik Oct 18, 2026
9af49d3
docs(docs): retain sixth corrective review and failed gate evidence
cemililik Oct 18, 2026
0c0956d
perf(core): skip impossible credential probes from canonical prefixes
cemililik Oct 18, 2026
7b39a5e
docs(docs): retain final-source instrumented preparation failure
cemililik Oct 18, 2026
3d27648
test(repo): retarget the canonical modern-key removal anchor
cemililik Oct 18, 2026
cd1a0b2
docs(core): describe the actual canonical matcher construction
cemililik Oct 18, 2026
cec30b9
ci(repo): reserve measured full-coverage scheduling headroom
cemililik Oct 18, 2026
a1fca06
fix(db): classify owned native session metadata writes
cemililik Oct 18, 2026
21fdfbb
test(cli): exercise actual readonly export metadata failures
cemililik Oct 18, 2026
88235c1
test(repo): retain the complete native export causal workload
cemililik Oct 18, 2026
ec0f3e1
docs(docs): record the native export corrective review
cemililik Oct 18, 2026
d001f9c
docs(docs): record accepted pr95 corrective source reviews
cemililik Oct 18, 2026
154d832
test(cli): own lazy home preparation before admission cases
cemililik Oct 18, 2026
1c7aec2
test(cli): bound and retain native concurrency fixture work
cemililik Oct 18, 2026
a1e956f
docs(docs): record scoped pr95 native fixture acceptance
cemililik Oct 18, 2026
19c9996
docs(docs): attribute native preparation evidence to its executor
cemililik Oct 18, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
177 changes: 170 additions & 7 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
# Turborepo cache, plus the formatting check and the no-vendor-type-across-the-seam fence.
#
# Branch protection (set in the GitHub repo settings, not here): `ci` and `coverage` are the REQUIRED
# status checks to merge into `main`. Wire, usage, filesystem and secrets mutation jobs feed `ci` through an explicit
# status checks to merge into `main`. Wire, usage, filesystem, secrets and packed CLI jobs feed `ci` through an explicit
# success-only aggregation; they cannot silently skip or fail while `ci` stays green. The other jobs
# self-label `(advisory)` — `floor-check`, `peer-dep-gate` and `windows-concurrency`.
#
Expand Down Expand Up @@ -57,11 +57,14 @@ env:

jobs:
ci:
needs: [wire-mutations, usage-mutations, fs-mutations, secrets-mutations]
needs: [wire-mutations, usage-mutations, fs-mutations, secrets-mutations, packed-cli]
if: ${{ always() }}
name: lint · typecheck · test
runs-on: ubuntu-latest
timeout-minutes: 15 # a hung step fails fast instead of inheriting the 360-min default
# A cold lint/typecheck plus serialized workspace run takes about 12.5 minutes, before
# build, tool checks and the replay smoke's six sequential, individually bounded 45s workers.
# Keep a finite outer watchdog without truncating those unchanged native/test bounds.
timeout-minutes: 25
steps:
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1
with:
Expand Down Expand Up @@ -94,6 +97,11 @@ jobs:
SECRETS_CONTROLS_RESULT: ${{ needs.secrets-mutations.result }}
run: node -e "require('node:assert/strict').equal(process.env.SECRETS_CONTROLS_RESULT, 'success')"

- name: Require complete packed CLI controls
env:
PACKED_CLI_RESULT: ${{ needs.packed-cli.result }}
run: node -e "require('node:assert/strict').equal(process.env.PACKED_CLI_RESULT, 'success')"

# A squash/main-based checkout need not contain development's immutable predecessor object.
# Fetch only this canonical pin during CI setup; the acceptance harness itself stays offline.
- name: Ensure immutable replay predecessor is available
Expand Down Expand Up @@ -169,6 +177,9 @@ jobs:
- name: CLI bundle closure matches its declared dependencies
run: pnpm lint:bundle-closure

- name: Compiled CLI meta paths stay outside runtime services
run: pnpm smoke:cli-bootstrap

# Drift gate: the committed migration must match src/schema.ts. If a schema change
# (or an upstream @relavium/shared enum change the CHECKs derive from) wasn't
# regenerated via `pnpm --filter @relavium/db db:generate`, regenerating here produces
Expand Down Expand Up @@ -270,7 +281,7 @@ jobs:
secrets-mutations:
name: Wave 2 secrets causal controls
# The historical 35-control, three-phase capture exceeded the former aggregate budget.
# The current cohort is 41 controls (2026-10-15); this comment does not certify its execution.
# The current cohort is 57 controls (2026-10-18); this comment does not certify its execution.
# Per-phase, case/hook, output and retained-evidence bounds remain unchanged.
timeout-minutes: 30
runs-on: ubuntu-latest
Expand Down Expand Up @@ -396,7 +407,9 @@ jobs:
floor-check:
name: node 22-line floor (22.13.0) · typecheck · test · build (advisory)
runs-on: ubuntu-latest
timeout-minutes: 15
# The complete serialized compatibility suite includes native DB waits; the former
# fifteen-minute budget expired before CLI completion. Per-case limits stay unchanged.
timeout-minutes: 25
# Fully isolate this job from the shared Turbo remote cache. Turbo's task hash does NOT include the
# runtime Node version, so floor-check (Node 22) and the required `ci` job (Node 24) share a hash —
# either could replay the other's cached result and mask a version-specific failure. `--force` (below)
Expand All @@ -421,9 +434,13 @@ jobs:
# `--force` = no cache READ (genuine Node-22 run, not a Node-24 replay); the job-level blanked
# TURBO_TOKEN/TURBO_TEAM above = no cache WRITE (so `ci` never replays this Node-22 result). Both are
# needed — see the job-level comment.
# In this compatibility job, serialize file workers as well as workspaces
# so unrelated files cannot consume the admitted-size cases' unchanged elapsed-time budget.
# Every case still runs, including its explicit native concurrency. Required CI retains its
# ordinary file workers; this job verifies the exact older runtime rather than cross-file load.
run: |
pnpm turbo run typecheck --force
pnpm turbo run test --concurrency=1 --force
pnpm turbo run test --concurrency=1 --force -- --maxWorkers=1
pnpm turbo run build --force

# CI-only strict peer-dependency gate (.npmrc keeps this OFF for local installs so fresh
Expand Down Expand Up @@ -453,7 +470,10 @@ jobs:
coverage:
name: engine coverage floor (llm, mcp)
runs-on: ubuntu-latest
timeout-minutes: 15
# One file worker isolates unchanged admitted-size case budgets from instrumentation
# contention. A measured 1,481-second complete run plus setup exhausted 25 minutes;
# reserve finite whole-suite headroom without changing case bounds or coverage thresholds.
timeout-minutes: 30
steps:
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1
with:
Expand Down Expand Up @@ -574,3 +594,146 @@ jobs:
echo "::error::chat entered raw mode without a TTY (the driver-selection gate regressed)"; exit 1
fi
echo "✓ windows headless no-TTY smoke passed"

# Required exact-artifact controls are independent of the cached workspace build above.
pack-cli:
outputs:
artifact-name: relavium-tarball-${{ github.run_id }}-${{ github.run_attempt }}
name: build once and inspect the packed CLI
runs-on: ubuntu-latest
timeout-minutes: 20
permissions:
contents: read
env:
TURBO_TOKEN: ''
TURBO_TEAM: ''
steps:
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1
with:
persist-credentials: false
- name: Set up pnpm
uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v4.4.0
- name: Set up Node
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with:
node-version-file: .nvmrc
- name: Install (frozen lockfile)
run: pnpm install --frozen-lockfile
# The runner builds inlined dependencies fresh, then prepack performs the sole final CLI build.
- name: Pack once and independently inspect the public package
env:
RELAVIUM_PACKAGE_SOURCE_SHA: ${{ github.sha }}
run: node tools/cli-package/pack.mjs "${{ runner.temp }}/packed-cli-artifact"
- name: Upload the public tarball and package-test receipt
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
with:
name: relavium-tarball-${{ github.run_id }}-${{ github.run_attempt }}
path: |
${{ runner.temp }}/packed-cli-artifact/*.tgz
${{ runner.temp }}/packed-cli-artifact/package-test-receipt.json
retention-days: 7
if-no-files-found: error

packed-cli-consumer:
name: installed CLI (${{ matrix.id }})
needs: pack-cli
strategy:
fail-fast: false
matrix:
include:
- id: current-linux
os: ubuntu-latest
node: '24'
- id: current-macos
os: macos-latest
node: '24'
- id: current-windows
os: windows-latest
node: '24'
- id: minimum-linux
os: ubuntu-latest
node: '22.0.0'
runs-on: ${{ matrix.os }}
timeout-minutes: 20
permissions:
contents: read
env:
TURBO_TOKEN: ''
TURBO_TEAM: ''
steps:
# Only the test runner and fixtures use this checkout. No workspace dependencies or build.
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1
with:
persist-credentials: false
# An explicit version avoids evaluating the workspace's >=22.13 install floor on Node 22.0.0.
- name: Set up pnpm for the external consumer
uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v4.4.0
with:
version: 9.12.3
run_install: false
- name: Set up consumer Node
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with:
node-version: ${{ matrix.node == '22.0.0' && matrix.node || '' }}
node-version-file: ${{ matrix.node != '22.0.0' && '.nvmrc' || '' }}
- name: Download the exact packed CLI
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
with:
name: ${{ needs.pack-cli.outputs.artifact-name }}
path: ${{ runner.temp }}/packed-cli-artifact
- name: Install outside the workspace and exercise the actual package
env:
RELAVIUM_PACKAGE_LEG: ${{ matrix.id }}
RELAVIUM_PACKAGE_SOURCE_SHA: ${{ github.sha }}
run: node tools/cli-package/consume.mjs "${{ runner.temp }}/packed-cli-artifact" "${{ runner.temp }}/packed-cli-report"
- name: Upload successful installed-package receipt
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
with:
name: ${{ needs.pack-cli.outputs.artifact-name }}-report-${{ matrix.id }}
# A retried consumer replaces only its smoke receipt for the same immutable tarball.
overwrite: true
path: ${{ runner.temp }}/packed-cli-report/installed-consumer.json
retention-days: 7
if-no-files-found: error

packed-cli:
outputs:
artifact-name: ${{ needs.pack-cli.outputs.artifact-name }}
name: require all installed CLI consumers
needs: [pack-cli, packed-cli-consumer]
if: ${{ always() }}
runs-on: ubuntu-latest
timeout-minutes: 5
permissions:
contents: read
env:
TURBO_TOKEN: ''
TURBO_TEAM: ''
steps:
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1
with:
persist-credentials: false
- name: Set up Node
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with:
node-version-file: .nvmrc
- name: Require successful pack and every consumer before artifact downloads
env:
RELAVIUM_PACKAGE_JOB_RESULTS: ${{ toJSON(needs) }}
run: node --input-type=module -e "import { requirePackageJobResults } from './tools/cli-package/binding.mjs'; requirePackageJobResults(JSON.parse(process.env.RELAVIUM_PACKAGE_JOB_RESULTS ?? 'null'));"
- name: Download the exact packed CLI
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
with:
name: ${{ needs.pack-cli.outputs.artifact-name }}
path: ${{ runner.temp }}/packed-cli-artifact
- name: Download all installed-package receipts
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
with:
pattern: ${{ needs.pack-cli.outputs.artifact-name }}-report-*
path: ${{ runner.temp }}/packed-cli-reports
merge-multiple: false
- name: Require pack and every consumer outcome and matching receipt
env:
RELAVIUM_PACKAGE_JOB_RESULTS: ${{ toJSON(needs) }}
RELAVIUM_PACKAGE_SOURCE_SHA: ${{ github.sha }}
run: node tools/cli-package/aggregate.mjs "${{ runner.temp }}/packed-cli-artifact" "${{ runner.temp }}/packed-cli-reports"
Loading
Loading