Skip to content

fix(repo): harden engine and cli lifetimes (wave 3 steps 1-8) - #95

Open
cemililik wants to merge 194 commits into
mainfrom
development
Open

cemililik wants to merge 194 commits into
mainfrom
development

Conversation

@cemililik

@cemililik cemililik commented Oct 17, 2026 •

Copy link
Copy Markdown
Contributor

Second maintainer review — corrections in progress

The systematic review of a5a5d45e identified PID-less failed-spawn cancellation,
finite credential-pattern gaps, installed-command acceptance and further lifecycle,
coverage and documentation issues. Corrections and permanent regressions are being
completed on development. Do not merge this checkpoint yet. New complete
cumulative review rounds, a separate security review and corrected-source gates
remain pending. The earlier acceptance record below retains its original source
scope and does not certify these new corrections. Wave 3 Steps 9–19 remain unstarted.

Maintainer review corrections — verified publication checkpoint

Long tool arguments could share an effect replay identity, and diagnostic clipping could retain part of a recognized credential. The corrections use the complete redacted v5: projection, preserve own public data, normalize/recognize complete summaries before clipping, and retain the original invocation through actual MCP/native cleanup. All 13 Medium findings and 39 distinct Low concerns have explicit fixes or evidence-based dispositions, including Promise/cancellation boundaries, active-turn SIGINT/EOF, JSON gate purity, required CI guards and canonical documentation.

Published head: a5a5d45ebf9a57dbd8dfe0e20ae71ae9b33408cb. Reviewed runtime: ba14b1bd, against submitted 05061d55. The later delta is four append-only Markdown files / 75 lines; executable, configuration and dependency bytes are identical. Native v5: refuses unversioned and v2:/v3:/v4: rows, including unchanged small arguments, without rewriting history or granting automatic effect retry. Raw host/model/spill handling and finite redaction limits remain explicit.

Two NEW complete cumulative CLEAN rounds, R9 and R10, each use four fresh independent review tasks covering 100 paths / 212 ordered hunks. Root verifies exact file/diff/hunk hashes, coverage unions and substantive assessments. Current code/test bodies and all deleted/replaced branches are read; historical documents receive identity/structure/status/links and complete changed/affected-clause review, not unrelated historical line-by-line recertification. A NEW separate CLEAN security sitting covers 40 paths / 100 hunks, explicitly static-only with zero tests executed. Two further independent CLEAN metadata checks cover the four-file documentation delta. Earlier nonclean/incomplete/interrupted rounds retain their own sources. This is correction-scoped acceptance, not a new whole-PR review.

Verified at the published head:

  • Push CI 39086945679 and PR CI 39086948646: 15/15 jobs successful each. Both actual main logs report 748 files / 15,886 passes / 22 established CI skips. Lint/typecheck17/17 and workspace tasks 11/11 each have five cache hits; build 6/6 has six. Cached work is not claimed rerun.
  • Fresh local ordinary coverage in CI mode also passes 748 / 15,886 / 22, retaining all three existing core/LLM/MCP 90% line and branch floors. Required remote enforced coverage passes; core's required-CI promotion remains Step 19. The earlier non-CI author workspace15,887/21 snapshot remains separately attributed.
  • All four actual installed consumers pass with one selected archive: current Linux/macOS/Windows on Node 24.21.0 and minimum Linux on Node 22.0.0, each 177 bootstrap controls + ten behavior cases. Independently downloaded archive/report and GitHub-origin checks verify 448,223 bytes / 70 files, SHA-256 0fa52c13eb8197bd5ac37e0abca9f2c5a2c3c16b84bcc5d2c73793cce1a52afb. This is physical evidence inspection, not another local Windows/Linux execution or reproducible-build claim. Native Windows and Node 22.13 source advisories also pass.
  • Current-source filesystem/secrets artifacts independently verify 110/41 controls and 330/123 phases, exact declarations/source/runtime/evaluation/stdio bindings, ZIP digests, zero recorded unhandled errors and the unchanged 2,000-file/64-MiB bounds. This does not rerun those matrices locally.
  • Budget replay smoke verifies 16 strict refusals / two legacy positive controls / zero fetches. All 599 local acceptance-tool cases pass. Eight author removals yield 89 specific assertion failures; every byte-exact restoration passes all 208 focused targets, with zero unhandled errors in committed runner receipts. Overlapping reviewer test selections are not added into a unique total.
  • Source-bound Sonar analysis passes at this exact head (GitHub check 117555791121), with no new record since the preceding candidate: 231 records / 90 files = 55 false positives + 86 accepted + 11 fixed + 79 open recommendations. Valid nonblocking recommendations, including the two reasoned regex-maintainability suggestions, remain visible; no rule or quality threshold is weakened.

The completion register owns source/coverage attribution. Detailed private receipts remain Git-ignored. PR stays OPEN for the maintainer's new review. No merge, release or whole-Wave-3 completion is claimed; Steps 9–19 remain unstarted.

What changes

Complete the first eight approved Wave 3 increments. Declared-secret-derived context is kept out of public expression/template outputs, authored admission and historical replay have distinct validation boundaries, and CLI work stays owned through actual producer, native-process, terminal and database cleanup. Guarded lazy loading and exact installed-package controls make those boundaries testable in the shipped CLI.

This PR is the maintainer-requested Steps 1–8 publication checkpoint. Steps 9–19 have not started; Wave 3 is not complete. The original whole-wave Step 19 review, coverage and publication obligations remain for the later work.

Scope

Accepted increment Result
1 — Serialized reliability queue Shared close handling, safe source labels and UTF-8 admission parity, exhaustive surface switches and actual reasoning rendering.
2 — Admission and diagnostics Consistent value-free authored validation and numeric bounds, with separate historical workflow/session validation and resume compatibility.
3 — Secret provenance Engine-owned qualified context/input provenance at real VM/template/public sinks, with native SQLite persistence regressions and expression-result parity.
4 — Error/envelope substrate Shared error ancestry and event-envelope validation while preserving supported family names, discriminants, causes and seam boundaries.
5 — Tool and engine tails Tool input bounds and advertised semantics, alias/cycle safeguards, cancellation tails, deterministic plans and identifier ordering.
6 — Pure process/discovery substrate Early option/error/origin authorities, command descriptors and pure discovery projections, invocation work owners and observation priority.
7a/7b — Lazy runtime and installed graph Guarded entry/import failures, invocation catalog ordering, finite flat ESM chunks, complete emitted-graph checks and exact-tarball consumers.
8a–8d — Native/session/fatal integration Creation-owned process capabilities, partial-acquisition custody, retained discovery/MCP/media work, workflow/session/Home/management ownership, terminal restoration and fixed fatal/output/background diagnostics.

Packages: shared, llm, core, db, mcp, CLI and acceptance/CI tooling. Decisions: ADR-0110–0113, with append-only forward notes in affected earlier ADRs. No new runtime dependency; the SQLite type addition is development-only. Detailed review/private evidence remains Git-ignored.

Compatibility and boundaries

  • Public secret-context access is intentionally tightened under ADR-0113. Previously stored historical output is not retroactively erased.
  • Unexpected CLI infrastructure/output failures use fixed cli_internal / output_unavailable diagnostics and exit 9. Classified workflow/turn failures, deliberate chat end, signals and actual workflow money/effect/durability precedence retain their defined meanings.
  • Cancellation, timeout, public discovery completion and an SDK close promise never manufacture a native-close, receipt, terminal-delivery or DB-safe-close acknowledgement. POSIX tool groups, SDK MCP PIDs and verified Windows helpers retain distinct authority.
  • JSON-help integration, aliases/output-category UX, release maps/encrypted custody, later chat/Home/network-policy work, DB centralisation and whole-wave acceptance remain Steps 9–19. This PR does not activate a release or claim complete Phase 2.5.5/2.6.

Original checkpoint validation and review attribution

The original Step 8 runtime acceptance below applies to c83c8575b0baaa9bf20765b03dffb00623ed96c6. The 00fb72d2 closure and 4762f21f publication were documentation-only. The subsequent Sonar correction source is 887ff47eff6092d035df9442658f0eb24625f9e9; 05061d55 records its scoped evidence. Earlier results retain their source attribution.

  • Full source CI run 39044664485: 15/15 jobs successful. Main workspace reports: 743 files / 15,635 passes / 22 established skips. Lint/typecheck 17/17 (five cache hits), serialized workspace 11/11 (five cache hits), build 6/6 (six cache hits); cached results retain that attribution.
  • Required source fences, formatting/isolation, compiled smokes, 177 bootstrap controls, replay compatibility, wire/usage acceptance and filesystem/secrets causal jobs pass. Core's required ≥90% line/branch floor promotion remains Step 19; the current enforced job covers LLM/MCP.
  • All four actual installed consumers pass with the same tarball: current Linux/macOS/Windows on Node 24.21.0 and minimum Linux on Node 22.0.0. Independently inspected archive: 446,750 bytes / 70 public files, SHA-256 a64f4ff2cbd444d6bc37e6b0938c42e0a6ebca0ddcd7905799c718346764558f.
  • Downloaded current-source filesystem/secrets records independently verify 110/41 controls, 330/123 phases, exact source/runtime/restoration/physical bounds and zero unhandled errors. This is inspection of the executed CI artifacts, not another local mutation run.
  • Each increment has independent scoped acceptance. For final Step 8, R25 and R26 are two NEW complete cumulative CLEAN rounds, each eight independent reviewers covering 342 disjoint paths / 1,842 ordered hunks from accepted Step 7 d9625ff0 through c83c8575. Root reads every report/path assessment and independently verifies raw results, joins, hashes and matching source/dependency/dist freezes. These are whole-Step-8 reviews, not a new whole-PR review of all changed files.
  • A NEW separate CLEAN Step 8 security sitting runs 75 complete files / 1,105 passes / one Windows-only local skip, with explicit empty error channels and actual runtime joins. Earlier steps retain their separately recorded sittings. No operator-TTY, live-provider/keychain, opaque native-undici close or universal descendant-containment certification is inferred.
  • Failed reviewer-preparation receipts remain failed. In particular, R25 tooling's arithmetic wrapper and R26 Home's collection wrapper exited nonzero; their passing product-case records and empty error channels were audited directly with explicit qualifications. Missing callback history and native-child source/dist equivalence are not invented. Earlier NONCLEAN reviews and failed old-source CI remain historical.
  • Final closure documentation/handoff received an independent read-only review with no confirmed documentation issue; local links and append-only ADR/mirrored status checks pass.

New push and PR checks run at the publication head. Their current results must be evaluated separately from the successful runtime-source run above.

Historical Sonar review corrections — 2026-10-18 (source 05061d55)

The complete initial review covered 214 open Sonar records in 80 files. One confirmed tooling performance defect appeared at two sites: stack indentation could consume newlines and cause quadratic rescanning. 0eae1b8b bounds those scans to one line; permanent tests inspect the actual source assertion operands and retain stack/canary/file-URL detection. Each independent removal fails its regression, and exact restoration passes. Small equivalent CLI/tooling clarifications address seven other records without changing native ACKs, control inventories or deadlines.

  • Two NEW independent complete cumulative CLEAN rounds, two reviewers per round, cover all 8 paths / 11 hunks at 887ff47e. A separate final documentation/receipt check is clean. These are correction-scoped reviews, not a new whole-PR review.
  • Author validation: workspace lint/typecheck 17/17 (15 cache hits), serialized workspace tasks 11/11 (10 cache hits), fresh CLI 362 files / 5,665 passes / 10 established skips, build 6/6 (five cache hits), and 551 acceptance-tool tests with no skips. Tooling lint/typecheck, formatting, seam/dependency fences pass.
  • The actual local macOS / Node 22.23.1 installed consumer passes 177 bootstrap controls / 8 smoke cases, tarball SHA-256 2dd80f46204a60e17d4abb72c5442425e29d09c73e60642cad40ccc254125d4e. This is one local consumer; fresh remote platform consumers are reported separately.
  • 52 false-positive and 86 intentional-design records have reasoned online dispositions, independently joined by exact key and saved comment. No rule, gate threshold or approved deferral changed. The trusted-host PATH assumption of the local Git fallback is explicit.
  • 67 valid nonblocking maintainability suggestions remain open, including larger decomposition suggestions; they were not labelled false positive or silently closed. All nine code-corrected records are now FIXED in fresh analysis; no new open issue was introduced. This does not start Steps 9–19 or grant a new deferral.

Fresh Sonar analysis is successful at 05061d55, with security/reliability/maintainability A/A/A, zero bugs/vulnerabilities, nine FIXED records and 67 remaining open maintenance suggestions. GitHub Sonar check 117511184731 independently confirms that exact head. All four actual PR installed consumers now pass: current Linux/macOS/Windows on Node 24.21.0 and minimum Linux on Node 22.0.0, each with 177 bootstrap controls and eight smoke cases. Downloaded artifacts independently verify the same 446,752-byte / 70-file tarball, SHA-256 192b281eab895241c35ad07fdb988c4420b4679539664de8af9ebb3ee54e999c. Their actual checkout is synthetic PR merge a9a921c1; its Git tree is independently identical to 05061d55. New-head push CI 39071766923 and PR CI 39071769451 still contain running causal/coverage/main jobs; aggregate completion is not claimed. Earlier green runs retain their historical source attribution.

Navigation and continuation

The timestamped detailed handoff is local/private and is not published in this PR. Before Step 9, the next agent must inspect this PR's state: further commits on development would extend this PR's scope. No Step 9 implementation or production release operation is performed here.

Conformance

  • Accepted decisions and canonical contracts cited; ADR history append-only.
  • Strict TypeScript, SDK seam, engine platform purity and runtime-dependency boundaries preserved.
  • Increment-scoped reviews/security and runtime evidence attributed to their actual sources.
  • Private handoff/review records and credentials excluded from Git/public artifacts.
  • No whole-wave completion or later-step implementation claimed.
  • New correction-head push/PR checks and fresh Sonar analysis completed successfully.
  • Maintainer whole-PR review completed.

Refs: ADR-0110, ADR-0111, ADR-0112, ADR-0113; Phase 2.5.5 / Wave 3 Steps 1–8

Prepared with Codex assistance.

cemililik and others added 30 commits October 15, 2026 20:56
Record PR #94 completion on main and join final reviewed-source evidence.
Reconcile living guides, exit criteria and related ADR landing notes while
preserving historical ADR bodies, approved limits and open phase work.

Validation: merge tree equals reviewed head; relative links and anchors
resolve; all 25 ADR edits are append-only; git diff --check passes.
This documentation-only update starts no Wave 3 implementation.

Refs: #94, ADR-0105, ADR-0106, ADR-0107, ADR-0108, ADR-0109

Co-Authored-By: Codex <noreply@openai.com>
Reconcile historical findings against current source before implementation.
Record four proposed decisions, concrete compatibility choices, a confirmed
synthetic context-taint leak and the serialized seventeen-step review plan.

Dependent implementation awaits maintainer approval. Existing accepted
ADRs and product code are unchanged; detailed reviews remain Git-ignored.

Validation: 2,882 relative links and anchors resolve; diff check passes.
Scoped unchanged-source suites pass 319 tests; no full CI is inferred.

Refs: ADR-0110, ADR-0111, ADR-0112, ADR-0113, Wave 3

Co-Authored-By: Codex <noreply@openai.com>
Assign the independently verified omitted UTF-8 resolver correction to
the first increment with distinguishing multibyte and overflow controls.
Clarify existing structural evidence, process exit dependencies and the
required core coverage promotion before whole-wave closure.

Record both complete finding-bearing proposal reviews without claiming
maintainer approval or implementation acceptance. Fresh review follows.

Refs: Wave 3, ADR-0110, ADR-0111, ADR-0112, ADR-0113

Co-Authored-By: Codex <noreply@openai.com>
Record the maintainer choice of public-recipient encrypted CI archival.
Propose vetted isolated GnuPG tooling, pinned recipient identity and
per-version ciphertext retention beyond workflow artifact expiry.

Keep overall ADR and execution-plan approval pending. No production key
configuration, archive upload or product implementation is inferred.
Fresh cumulative proposal reviews follow this source update.

Refs: ADR-0111, Wave 3

Co-Authored-By: Codex <noreply@openai.com>
Record two new complete independent clean cumulative proposal reviews at
3996707, including the selected encrypted CI archive method.
The receipt changes no reviewed decision or proposed implementation step.

Keep all four ADRs Proposed and dependent code gated on maintainer
approval. Existing product acceptance, tests and review scopes are not
expanded; detailed working reports remain Git-ignored.

Validation: relative links/anchors and diff check pass; four proposed
ADR files equal the reviewed bytes; pre-existing ADRs are unchanged.

Refs: ADR-0110, ADR-0111, ADR-0112, ADR-0113, Wave 3

Co-Authored-By: Codex <noreply@openai.com>
Correct the token replay premise and define executable process, context,
config and packaging contracts before maintainer approval. Split the
source-dependent plan into nineteen reviewed increments.

Refs: ADR-0110, ADR-0111, ADR-0112, ADR-0113

Co-Authored-By: Codex <noreply@openai.com>
Specify primitive VM outcome transport and uncached private map builds.
Define owned diagnostic frames and finite native teardown scope, and
reconcile the active roadmap tasks with verified source facts.

Refs: ADR-0110, ADR-0111, ADR-0113

Co-Authored-By: Codex <noreply@openai.com>
Keep required package gates independent of production recipients while
requiring encryption before any trusted release candidate handoff.
Prevent promotion of test artifacts after private maps are discarded.

Refs: ADR-0111

Co-Authored-By: Codex <noreply@openai.com>
Attribute both fresh complete clean reviews to the frozen proposal head.
Keep all four ADRs Proposed and implementation gated on maintainer approval.
Preserve separate feasibility, product and production-release claims.

Refs: ADR-0110, ADR-0111, ADR-0112, ADR-0113

Co-Authored-By: Codex <noreply@openai.com>
Reopen prior proposal readiness after the second maintainer source review.
Specify per-owner CLI health and teardown, distinct output-failure exits,
permissioned release discovery/recovery, live HTTP narrowing across failed
Home builds, and finite secret-access semantics with exact result parity.

Keep all four ADRs Proposed and product source unchanged. Record explicit
compatibility and canonical landing obligations before requesting approval.

Refs: ADR-0110, ADR-0111, ADR-0112, ADR-0113

Co-Authored-By: Codex <noreply@openai.com>
Resolve the three verified Medium findings from the complete proposal
rereview. Bind fresh release builds to same-attempt discovery, attribute
map checks to the original candidate, and preserve complete context/input
key ordering while excluding denied values.

Keep operational recovery advice and readonly membership back-references
explicit. All four ADRs remain Proposed; no product implementation changes.

Refs: ADR-0110, ADR-0111, ADR-0113

Co-Authored-By: Codex <noreply@openai.com>
Close the complete proposal review's two Low wording cautions. Identify
ADR-0049 clauses 5 and 6, preserve absent-input non-enumerability, and record
exact review provenance before the final independent full rounds.

Refs: ADR-0110, ADR-0113

Co-Authored-By: Codex <noreply@openai.com>
Resolve the Medium independently verified by both complete final reviewers:
non-enumerable accessors still create properties. Keep omitted optional
secret inputs truly absent while denying present secret values. Preserve
declaration-based template refusal and existing required/default admission.

Record the superseded review verdicts and require two new complete rounds.
No product implementation or ADR status changes.

Refs: ADR-0113

Co-Authored-By: Codex <noreply@openai.com>
Resolve the scheduling conflict independently verified by both complete
reviewers. Keep original queue groupings as scope inventory and make the
nineteen reviewed increments the sole proposed execution-order authority.
Clarify preservation and later-I scope without closing implementation work.

Refs: Wave 3, ADR-0110, ADR-0111, ADR-0112, ADR-0113

Co-Authored-By: Codex <noreply@openai.com>
Record two new independent clean complete cumulative reviews at 76065d2
across all fourteen proposal paths and nineteen steps. Keep superseded and
nonclean verdicts distinct, preserve exact evidence scope, and request the
required approval with all four ADRs still Proposed and code unchanged.

Refs: ADR-0110, ADR-0111, ADR-0112, ADR-0113

Co-Authored-By: Codex <noreply@openai.com>
Record maintainer approval of the final four ADRs and nineteen increments.
Annotate only replaced historical clauses, append forward notes and retain
unshipped reference status until each implementation passes its gates.
Reconcile compatibility criteria and record the approved Wave 5a wrap owner.

Refs: ADR-0110, ADR-0111, ADR-0112, ADR-0113

Co-Authored-By: Codex <noreply@openai.com>
Share safe owned cleanup without masking primary outcomes, reuse guarded
source labels and align UTF-8 prechecks with the parser character ceiling.
Make session and picker event handling exhaustive and render bounded live
reasoning separately from durable answer text. Preserve host lifetime joins.

Full workspace lint/typecheck/test and build pass. Native close regressions
exercise real SQLite; four removal controls break the intended regressions
and exact restoration is followed by the green complete author suite.
Independent complete cumulative review remains pending.

Refs: Phase 2.5.5 Wave 3 Step 1, ADR-0103

Co-Authored-By: Codex <noreply@openai.com>
Join two complete clean cumulative reviews and actual author gates.
Correct the author file-count sum to 590 without changing product bytes,
close the serialized queue findings and advance the live plan to step 2.

Refs: Phase 2.5.5 Wave 3 Step 1

Co-Authored-By: Codex <noreply@openai.com>
Validate duplicate parallel branches, typed condition matches and fallback
identities at leaf and full boundaries. Share human-gate timeout validation
and preserve legacy-compatible logical run fields while refusing present
status contradictions. Keep one duplicate diagnostic and safe MCP reasons.

Refs: ADR-0023, Phase 2.5.5 Wave 3 Step 2

Co-Authored-By: Codex <noreply@openai.com>
Report schema literal expectations and standalone agent constraint reasons
through one internal helper, preserving typed field identities and excluding
received payloads. Keep strict unknown-key diagnostics linear. Update the
resource-ceiling fixture to isolate ceilings from duplicate admission.

Refs: ADR-0023, Phase 2.5.5 Wave 3 Step 2

Co-Authored-By: Codex <noreply@openai.com>
Use the actual inclusive or exclusive schema bound on loader and writer
validation failures without echoing the rejected number. Exercise the real
config-file boundary as well as the shared formatter.

Refs: ADR-0033, Phase 2.5.5 Wave 3 Step 2

Co-Authored-By: Codex <noreply@openai.com>
Attribute shared admission and diagnostic changes, preserved guards and
six causal removals to their actual author evidence. Independent complete
cumulative review remains required before the next increment.

Refs: Phase 2.5.5 Wave 3 Step 2

Co-Authored-By: Codex <noreply@openai.com>
Separate historical structural validation from fresh fallback uniqueness.
Persisted session snapshots retain their ordered entries and attempt budgets
while authored standalone and inline agents still reject duplicate tuples.
Shared regressions retain existing structural and MCP identity checks.

Refs: Wave 3 Step 2, ADR-0024, ADR-0086

Co-Authored-By: Codex <noreply@openai.com>
Plant a historical JSON snapshot in real SQLite, then verify history load,
listing, full transcript access and session updates preserve it. Fresh agent
admission remains a rejecting control; no reader rewrite or deduplication.

Refs: Wave 3 Step 2, ADR-0024

Co-Authored-By: Codex <noreply@openai.com>
Name the authored versus historical boundary and record the verified first
review finding, real SQLite regression, causal removal and corrected author
gates. Two new cumulative clean rounds remain required before Step 3.

Refs: Wave 3 Step 2

Co-Authored-By: Codex <noreply@openai.com>
Share structural fields and document invariants across authored and frozen
workflows. Keep new branch/gate/fallback checks at author admission while
retaining all former historical checks, including parallel uniqueness.

Refs: Wave 3 Step 2, ADR-0026, ADR-0083, ADR-0086

Co-Authored-By: Codex <noreply@openai.com>
Use the historical workflow contract for exact frozen-content identity.
Pin old-valid/current-author-invalid snapshots and content mismatch refusal.
Preserve legacy export entries and qualify current-author round-trip claims.

Refs: Wave 3 Step 2, ADR-0026, ADR-0083, ADR-0086

Co-Authored-By: Codex <noreply@openai.com>
Read frozen workflow snapshots through their historical contract. Real
SQLite/engine gate controls retain branch order, timeout semantics, outputs
and snapshot identity. Export notices name historical validation repair.

Refs: Wave 3 Step 2, ADR-0026, ADR-0083, ADR-0086

Co-Authored-By: Codex <noreply@openai.com>
Reconcile the export round-trip scope and frozen workflow reader boundary.
Record the second verified review, complete regression/causal evidence and
final author gates without claiming acceptance before two new clean rounds.

Refs: Wave 3 Step 2, ADR-0026, ADR-0083, ADR-0086

Co-Authored-By: Codex <noreply@openai.com>
Join two new complete cumulative clean rounds at the final corrected source.
Close the scoped admission/diagnostic items and certified existing guards;
retain exact author/reviewer attribution and historical-reader dispositions.
Advance automatically to approved ADR-0113 Step 3 and its security sitting.

Refs: Wave 3 Step 2, Wave 3 Step 3, ADR-0113

Co-Authored-By: Codex <noreply@openai.com>
cemililik and others added 23 commits October 18, 2026 01:36
Protect required smoke steps, finalized seals and HTTP/2 denial. Restore installed provider/history refusal cases and state the native keyring measurement scope honestly.

Refs: ADR-0111, PR #95

Co-Authored-By: Codex <noreply@openai.com>
Name the actual historical snapshot schema used by the resume caller.

Refs: ADR-0075, PR #95

Co-Authored-By: Codex <noreply@openai.com>
Record conservative legacy compatibility, actual close ordering, finite redaction, package status and precise Sonar accounting. Historical evidence retains its source scope; fresh independent review and publication gates remain pending.

Refs: ADR-0080, ADR-0103, ADR-0113, PR #95

Co-Authored-By: Codex <noreply@openai.com>
Skip only URL-userinfo passes when their mandatory delimiter is absent. Preserve full redacted journal arguments, unchanged finite detector rules and the exact 8 MiB admission fixture.

Refs: ADR-0080
Co-Authored-By: Codex <noreply@openai.com>
Deliver the consumer abort independently of both input unlink attempts. Retain partial subscription and failed cleanup on the original owner, including reentrant setup and actual fresh/resumed manager paths.

Refs: ADR-0103
Co-Authored-By: Codex <noreply@openai.com>
Initialize both native writers before taking the parent lock. Require positive write readiness and join actual child close on failure or abort before releasing fixture custody. Preserve the original time bound, two 40-write bursts and all persisted-row assertions.

Refs: ADR-0064
Co-Authored-By: Codex <noreply@openai.com>
Pin the updated full run and gate inventories and require both native and structural reader removal witnesses. Keep the coordinator fail-closed and independently refuse stale counts or missing witnesses.

Refs: ADR-0107
Co-Authored-By: Codex <noreply@openai.com>
Record the first nonclean corrective round and its exact scopes, subsequent source repairs and remaining independent acceptance gates. Link historical Step 8 acceptance separately from current corrected-source platform evidence.

Refs: ADR-0103, ADR-0110
Co-Authored-By: Codex <noreply@openai.com>
Consume whole recognized query and URL userinfo values, honor escaped quotes,
and preserve following public fields. Keep admitted-scale token matches out
of V8 stack exhaustion without changing their existing minimum lengths.

Atomically update the DB digest domain to v3 and its actual CLI/SQLite
regressions: unversioned and partial v2 rows cannot authorize replay, even
when a current literal equals an old projection. Do not rewrite old evidence
or grant an automatic retry. Nine author removal controls kill their named
assertions and restore exact source bytes.

Refs: ADR-0080

Co-Authored-By: Codex <noreply@openai.com>
Record the nonclean cumulative library/security review and the author sweep,
link the current persisted representation from its canonical home, and state
old-row compatibility honestly. New cumulative clean rounds and publication
evidence remain required; this does not close Wave 3 or start Steps 9-19.

Refs: ADR-0080

Co-Authored-By: Codex <noreply@openai.com>
Give recognized credential fields precedence over partial inner text masks,
retaining only canonical known authentication-scheme labels. Apply complete
credential projection to both argv spellings and keep port exceptions local
to the ambiguous -p flag. Preserve public args and original host dispatch.

Separate persisted identity with v4 digests and refuse all older domains
without rewriting rows or authorizing retries. Pin helper and actual builtin
registry/native SQLite equality, conflict, dispatch and legacy controls.

Refs: ADR-0080, PR #95

Co-Authored-By: Codex <noreply@openai.com>
Document current projection and legacy-domain refusal in their canonical home.
Preserve the clean general review and the separate interrupted security
finding with exact attribution. Fresh complete independent reviews and
corrected-source publication remain required; Steps 9-19 stay unstarted.

Refs: ADR-0080, PR #95

Co-Authored-By: Codex <noreply@openai.com>
Keep the argv state walk focused on separate versus inline spelling. Use
one private value rule for complete credential masks and the existing -p
port exception, preserving redacted bytes and the v4 digest domain.

Refs: ADR-0080, PR #95

Co-Authored-By: Codex <noreply@openai.com>
Retain R5 clean cumulative review attribution at 8d1e931 and distinguish the
subsequent behavior-preserving Sonar maintainability refactor. Fresh reviews
and separate publication gates remain explicit; no later wave work is started.

Refs: ADR-0080, PR #95

Co-Authored-By: Codex <noreply@openai.com>
Define own data members in journal and display projections instead of
invoking inherited setters. Keep raw dispatch and credential exclusions
unchanged. Separate earlier ambiguous native digest domains and pin the
built-in MCP registry-to-SQLite behavior with public-data regressions.

Five author removal controls produce 79 specific assertion failures;
byte-exact restoration passes all 201 focused cases. Record the independent
nonclean findings without inheriting earlier source acceptance.

Refs: ADR-0080, PR #95

Co-Authored-By: Codex <noreply@openai.com>
Recognize complete credential spans before tool-input previews and result
summaries are clipped. Preserve terminal delimiters needed by the finite
recognizer while retaining raw dispatch, model results and journal bytes.

Pin both paths through helper and actual registry/native SQLite cases.
Seven removals produce 87 assertion failures; every byte-exact restoration
passes all 207 targets. Record the independent nonclean source reviews.

Refs: ADR-0080, ADR-0050, ADR-0036, PR #95

Co-Authored-By: Codex <noreply@openai.com>
Keep one-line diagnostic normalization ahead of credential recognition,
then clip only the recognized projection. This preserves multiline quoted
values while retaining complete delimiters beyond preview boundaries.

Add the missing combined regression and retain source-scoped nonclean
review records. Eight removals yield 89 named assertion failures; every
byte-exact restoration passes all 208 target cases without unhandled errors.

Refs: ADR-0080, ADR-0050, PR #95

Co-Authored-By: Codex <noreply@openai.com>
Close the two fresh cumulative correction reviews and the separate
static security sitting at their exact runtime source. Preserve failed
historical rounds, cache attribution and final publication ownership.

Append landing notes without rewriting decisions or claiming later Wave 3
work, a merge, or remote execution before the final source checks run.

Refs: ADR-0080, ADR-0103, ADR-0113, PR #95

Co-Authored-By: Codex <noreply@openai.com>
Recognize current key formats and finite split credential spans before display normalization. Preserve full redacted effect identity and unambiguous public data.

Refs: ADR-0080, ADR-0110

Co-Authored-By: Codex <noreply@openai.com>
Keep every finite diagnostic credential family observable until its complete span is masked. Cover modern key formats, split labels and URL userinfo without exposing a recognized suffix.

Refs: ADR-0011, ADR-0110

Co-Authored-By: Codex <noreply@openai.com>
Never signal PID-less failed spawns. Bound unacknowledged cleanup, preserve primary failures and seal late publication. Pin every notice forwarding path, recovered close and native lifecycle regression; clarify shared history diagnostics.

Refs: ADR-0103, ADR-0110, ADR-0113

Co-Authored-By: Codex <noreply@openai.com>
Require actual installed command shims and independently pinned public metadata. Restrict cache credentials, strengthen bootstrap boundaries and update load-bearing credential controls with runtime-error receipts.

Refs: ADR-0067, ADR-0110, ADR-0111

Co-Authored-By: Codex <noreply@openai.com>
Keep historical ADR decisions append-only while correcting live status, sandbox contracts and source-attributed review records. New correction acceptance and publication remain pending.

Refs: ADR-0110, ADR-0111, ADR-0112, ADR-0113

Co-Authored-By: Codex <noreply@openai.com>
@sonarqubecloud

Copy link
Copy Markdown

Quality Gate Failed Quality Gate failed

Failed conditions
C Reliability Rating on New Code (required ≥ A)

See analysis details on SonarQube Cloud

Catch issues before they fail your Quality Gate with our IDE extension SonarQube for IDE

cemililik and others added 6 commits October 18, 2026 12:00
Carry terminal cleanup uncertainty independently of the original error classification. Keep terminal release acknowledgements separate from workflow retirement and preserve positively native-free constructor refusals.

Cover prompt, view, job-control and final-release faults with the actual lifetime. The bound removal fails nine named assertions; byte-exact restoration passes all 25 lifetime cases.

Refs: ADR-0103, ADR-0110

Co-Authored-By: Codex <noreply@openai.com>
Prevent an embedded public prefix from hiding a later split credential. Use the canonical matcher with bounded previews and monotonic token-run lookahead so rejected JWT candidates cannot rescan admitted-size suffixes.

Cover full projections, every existing family and dense eight-MiB inputs while retaining the current finite masking policy.

Refs: ADR-0080, ADR-0113

Co-Authored-By: Codex <noreply@openai.com>
Select original-text token boundaries before a greedy joined match can skip them. Preserve the one canonical family rule and mask complete diagnostics when LF or TAB reveals a supported credential.

Pin the rejected-public-prefix interaction through scrubSecrets and both LlmError message and code, including admitted-size preparation.

Refs: ADR-0011, ADR-0080

Co-Authored-By: Codex <noreply@openai.com>
Retain the 51 prior control identities and witnesses while updating complete workload counts. Add separate core and diagnostic recovery removals requiring all eight poisoned-prefix assertions, without removing bounded JWT preparation.

Declare 53 controls and 310 witnesses; declarations remain separate from physical fixed/removal/restored acceptance.

Refs: ADR-0080, ADR-0113

Co-Authored-By: Codex <noreply@openai.com>
Retain exact attribution for the complete first corrective review and its two independently reproduced residuals. Record current author corrections and required fresh acceptance gates without implying merge readiness.

Refs: ADR-0110, ADR-0113

Co-Authored-By: Codex <noreply@openai.com>
Assert the scrubbed length before comparing the whole value so a deliberate recovery removal cannot inflate causal evidence with eight MiB of diagnostic text. Keep the same behavior, marker and complete case count.

Refs: ADR-0080, ADR-0113

Co-Authored-By: Codex <noreply@openai.com>
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.

1 participant