Skip to content

Harden quality checks for 0.9.2 - #38

Merged
samtay32 merged 4 commits into
mainfrom
codex/harden-0-9-2
Aug 2, 2026
Merged

Harden quality checks for 0.9.2#38
samtay32 merged 4 commits into
mainfrom
codex/harden-0-9-2

Conversation

@samtay32

@samtay32 samtay32 commented Aug 2, 2026

Copy link
Copy Markdown
Owner

What changed

  • normalize Windows executable suffixes before applying quality-command and approval-fingerprint rules
  • reject known indirect launchers, alternate shells, network clients, and destructive tools
  • flush atomic state writes and clean failed temporary files
  • add Markdown linting and conservative built-in coverage floors
  • tighten workflow permissions and concurrency
  • clarify the command-policy, live-evidence, and legacy --claude boundaries
  • prepare package and changelog version 0.9.2

Root cause

Command policy used the literal platform basename. Names such as bash.exe, git.exe, npm.cmd, and python.exe therefore skipped rules written for their canonical executable names. Wrapper commands such as env bash also bypassed the direct-shell check.

Qodo's first exact-head review found that delegated package-script fingerprinting still used the literal basename. Commit 9c346dc now uses the same canonicalization there and adds regression coverage for npm.cmd, pnpm.cmd, and yarn.cmd.

User impact

The one-command universal installation remains unchanged and the published package retains zero runtime dependencies. The legacy --claude flag remains accepted silently before 1.0, while every harness adapter continues to install by default.

Validation

  • npm run release:check on Node 22.23.2
  • 227/227 tests
  • conservative coverage floors enforced
  • 28 behavioral contracts across 13 skills
  • packed install: 116 files, zero runtime dependencies

Summary by CodeRabbit

  • New Features

    • Improved command safety checks across platforms, including shell wrappers, network tools, and destructive commands.
    • Strengthened file-update reliability and cleanup after interrupted writes.
    • Added duplicate-copy detection during package validation.
  • Compatibility

    • Legacy --claude remains accepted without changing universal adapter installation.
  • Documentation

    • Added contribution guidance and clarified setup, adapter compatibility, evidence, and security practices.
  • Chores

    • Released version 0.9.2 with enhanced CI controls, permission restrictions, coverage checks, and Markdown linting.

@coderabbitai

coderabbitai Bot commented Aug 2, 2026

Copy link
Copy Markdown

Review Change Stack

Important

Review skipped

Auto incremental reviews are disabled on this repository.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 21a3adfe-9766-4a73-82d3-b293db44f822

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

The 0.9.2 release updates package metadata, command safety checks, atomic writes, adapter compatibility, workflow permissions and concurrency, quality gates, documentation, and related tests.

Changes

Release, safety, and workflow controls

Layer / File(s) Summary
Release metadata and quality gates
.codex-plugin/plugin.json, package.json, CHANGELOG.md, evals/fixture-baselines.json, scripts/packed-smoke.mjs, test/agent-stack.test.mjs, test/maintenance.test.mjs
Version references and release checks target 0.9.2. Coverage and Markdown linting are included. Package-copy detection, evaluation baselines, changelog content, and release tests are updated.
CLI safety and adapter compatibility
bin/ultimate-agent-stack.mjs, test/agent-stack.test.mjs, docs/OPERATING_MANUAL.md, docs/SKILL_STACK.md, docs/TRUST.md
Executable names are normalized across platforms. Unsafe commands and versioned inline-evaluation commands are rejected. Atomic writes clean up temporary files. The legacy --claude option remains accepted without changing universal adapter installation.
Workflow permissions and concurrency
.github/CODEOWNERS, .github/workflows/*, test/maintenance.test.mjs
Workflow token permissions are restricted and job permissions are explicit. CI and upstream-watch concurrency behavior, branch checkout, and ownership are defined and tested.
Contribution and release guidance
CONTRIBUTING.md, README.md
Contribution prerequisites, release checks, adapter contracts, exact-head evidence, security reporting, and pull-request requirements are documented.

Estimated code review effort: 4 (Complex) | ~45 minutes

Possibly related PRs

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 6.67% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly summarizes the main change: strengthening quality checks for version 0.9.2.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches 💡 1
📝 Generate docstrings 💡
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch codex/harden-0-9-2

Comment @coderabbitai help to get the list of available commands.

@samtay32
samtay32 marked this pull request as ready for review August 2, 2026 07:17
@qodo-code-review

Copy link
Copy Markdown

PR Summary by Qodo

Harden quality-command policy and release gate for 0.9.2

🐞 Bug fix ✨ Enhancement 🧪 Tests 📝 Documentation ⚙️ Configuration changes 🕐 40+ Minutes

Grey Divider

AI Description

• Normalize Windows executable suffixes so quality-check rules apply consistently.
• Block indirect launchers, alternate shells, network clients, and destructive tools.
• Strengthen release gate with Markdown linting, coverage floors, and tighter workflow permissions.
Diagram

graph TD
  CI["GitHub Actions CI"] --> Gate["release:check"] --> CLI["CLI (ultimate-agent-stack)"]
  CLI --> Policy["validateConfig policy"] --> Canon["canonicalExecutableName"] --> Forbidden["FORBIDDEN_EXECUTABLES"]
  CLI --> Atomic["atomicText writes"]
Loading
High-Level Assessment

The following are alternative approaches to this PR:

1. Executable allowlist per check type
  • ➕ Smaller attack surface than a growing denylist
  • ➕ Forces explicit review of any new command surface
  • ➖ Higher maintenance burden for legitimate project variation
  • ➖ Harder to keep ergonomic across ecosystems (npm, git, docker, terraform, etc.)
2. Resolve argv[0] to real executable path before policy evaluation
  • ➕ Can reduce bypasses via symlinks/aliases and ambiguous PATH entries
  • ➕ Improves auditability when reporting rejected commands
  • ➖ Adds platform-specific complexity and failure modes (PATH, PATHEXT, permissions)
  • ➖ Can require extra filesystem/process probing during validation

Recommendation: Keep the PR’s approach: canonicalizing the basename (including Windows suffix stripping) closes the reported bypass with minimal complexity and preserves the project’s “command policy, not a sandbox” stance. The expanded forbidden list is a pragmatic complement to canonicalization; a strict allowlist or full path resolution would be more secure in some dimensions but would significantly raise maintenance and portability costs.

Files changed (19) +1776 / -117

Bug fix (2) +72 / -41
ultimate-agent-stack.mjsHarden quality command validation and atomic writes; bump version +71/-40

Harden quality command validation and atomic writes; bump version

• Normalizes executable names (including Windows suffixes) before applying quality-check rules and expands forbidden executables to cover wrappers, alternate shells, and network clients. Reworks atomic writes to flush data, use more unique temp names, and clean up temp files after failures; also de-advertises --claude while keeping it as a silent compatibility no-op. Updates embedded fallback version to 0.9.2 and exports new helper functions for testing.

bin/ultimate-agent-stack.mjs

packed-smoke.mjsImprove packed-package duplicate path detection +1/-1

Improve packed-package duplicate path detection

• Expands the duplicate-copy detection regex to catch duplicate directory segments in addition to filenames.

scripts/packed-smoke.mjs

Tests (3) +238 / -49
fixture-baselines.jsonRefresh eval fixture baselines for updated commit +46/-46

Refresh eval fixture baselines for updated commit

• Updates scenario git_head and project_tree_sha256 values to match the new repository state.

evals/fixture-baselines.json

agent-stack.test.mjsAdd tests for canonical executable names, atomic writes, and legacy flag +159/-1

Add tests for canonical executable names, atomic writes, and legacy flag

• Adds regression tests ensuring Windows executable suffix normalization is enforced by the policy and that wrapper/launcher commands are rejected. Adds coverage for atomicText failure cleanup and verifies --claude is not advertised but remains accepted silently; also makes versioned proposal paths use PACKAGE_VERSION.

test/agent-stack.test.mjs

maintenance.test.mjsAssert CI/workflow hardening and new release-gate tooling +33/-2

Assert CI/workflow hardening and new release-gate tooling

• Extends maintenance tests to require CI concurrency and scoped workflow permissions, and to verify markdown linting plus coverage floors are present in scripts and dependencies.

test/maintenance.test.mjs

Documentation (6) +85 / -16
CHANGELOG.mdAdd 0.9.2 release notes +29/-0

Add 0.9.2 release notes

• Documents the 0.9.2 changes, including Windows executable normalization, atomic write fixes, and CI/release hardening.

CHANGELOG.md

CONTRIBUTING.mdAdd contribution guidelines and release gate expectations +34/-0

Add contribution guidelines and release gate expectations

• Adds a contributing guide describing Node requirements, the release gate command, evidence expectations, and security hygiene.

CONTRIBUTING.md

README.mdClarify where live evidence is recorded +6/-4

Clarify where live evidence is recorded

• Updates README wording to specify that live evidence is attached to PR/release records (not implied as in-package).

README.md

OPERATING_MANUAL.mdDocument legacy --claude behavior as silent compatibility +3/-2

Document legacy --claude behavior as silent compatibility

• Clarifies that --claude is accepted silently for pre-1.0 compatibility but no longer changes installation behavior.

docs/OPERATING_MANUAL.md

SKILL_STACK.mdClarify upgrade/install adapter behavior and legacy flag boundary +3/-2

Clarify upgrade/install adapter behavior and legacy flag boundary

• Updates docs to state adapters install universally and --claude remains silently accepted without affecting installation.

docs/SKILL_STACK.md

TRUST.mdClarify command-policy scope and expanded executable rejection categories +10/-8

Clarify command-policy scope and expanded executable rejection categories

• Updates trust documentation to reflect executable-name normalization and broader rejection categories, and clarifies that this is policy (not a sandbox or exhaustive denylist).

docs/TRUST.md

Other (8) +1381 / -11
plugin.jsonBump plugin version to 0.9.2 +1/-1

Bump plugin version to 0.9.2

• Updates the Codex plugin manifest version from 0.9.1 to 0.9.2 to match the release.

.codex-plugin/plugin.json

CODEOWNERSAdd repository-wide CODEOWNERS +1/-0

Add repository-wide CODEOWNERS

• Introduces a CODEOWNERS file assigning default ownership to @samtay32.

.github/CODEOWNERS

ci.ymlCancel duplicate CI runs via concurrency +4/-0

Cancel duplicate CI runs via concurrency

• Adds workflow-level concurrency grouping and enables cancel-in-progress to avoid stale duplicate CI runs.

.github/workflows/ci.yml

publish.ymlExplicitly deny default permissions for publish workflow +2/-0

Explicitly deny default permissions for publish workflow

• Sets workflow permissions to an empty map, requiring jobs to request only what they need.

.github/workflows/publish.yml

sync-github-release.ymlExplicitly deny default permissions for release sync workflow +2/-0

Explicitly deny default permissions for release sync workflow

• Sets workflow permissions to an empty map, tightening the default token scope for the workflow.

.github/workflows/sync-github-release.yml

upstream-watch.ymlScope upstream-watch permissions to writing job and add concurrency +8/-3

Scope upstream-watch permissions to writing job and add concurrency

• Moves write permissions into the specific job that needs them and adds workflow concurrency configuration.

.github/workflows/upstream-watch.yml

package-lock.jsonLockfile update for 0.9.2 and markdownlint dev dependency +1356/-3

Lockfile update for 0.9.2 and markdownlint dev dependency

• Bumps lockfile package version to 0.9.2 and adds markdownlint-cli2 (and transitive deps) as a dev-only dependency.

package-lock.json

package.jsonAdd markdown lint + coverage floors to release gate; bump version +7/-4

Add markdown lint + coverage floors to release gate; bump version

• Bumps version to 0.9.2, adds markdownlint-cli2 as a devDependency, introduces lint:markdown, and replaces test with test:coverage in the release gate with explicit coverage thresholds.

package.json

@qodo-code-review

qodo-code-review Bot commented Aug 2, 2026

Copy link
Copy Markdown

Code Review by Qodo

🐞 Bugs (0) 📘 Rule violations (0) 📜 Skill insights (0)

Context used
✅ Compliance rules (platform): 82 rules
✅ Skills: 4 invoked
  verify-change
  maintain-agent-stack
  build-vertical-slice
  secure-launch

Grey Divider


Action required

1. Approval hash skips .cmd ✓ Resolved 🐞 Bug ⛨ Security
Description
validateCommand now canonicalizes Windows executable suffixes (e.g., npm.cmd→npm) and applies
package-manager rules to the canonical name, but checksHash still relies on delegatedCheckDefinition
which matches package managers using the literal basename. As a result, quality checks invoked as
npm.cmd/pnpm.cmd/yarn.cmd may no longer include the underlying package.json script definition in the
approval hash, weakening drift/approval detection for script-body changes.
Code

bin/ultimate-agent-stack.mjs[1706]

+  const executable = canonicalExecutableName(check.argv[0]);
Relevance

●●● Strong

Team consistently accepts approval-fingerprint hardening (e.g., include env overrides in checksHash)
to prevent bypasses.

PR-#15
PR-#23

ⓘ Recommendations generated based on similar findings in past PRs

Evidence
validateCommand canonicalizes check.argv[0] before applying PACKAGE_MANAGERS rules, but
delegatedCheckDefinition (used by checksHash) still matches package managers using
basename(...).toLowerCase(). Since PACKAGE_MANAGERS is now canonical-only, npm.cmd will be
treated as a package manager for validation yet produce a null delegated definition for hashing,
omitting the package.json script body from the approval payload.

bin/ultimate-agent-stack.mjs[1673-1768]
bin/ultimate-agent-stack.mjs[184-189]
bin/ultimate-agent-stack.mjs[4216-4296]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

### Issue description
`validateCommand()` now uses `canonicalExecutableName(check.argv[0])`, so `npm.cmd` is treated as `npm` for policy enforcement. However, `delegatedCheckDefinition()` still derives `executable` via `basename(...).toLowerCase()` and checks membership in `PACKAGE_MANAGERS`, which contains only canonical names.

Because `checksHash()` includes `delegated_definitions: checks.map(delegatedCheckDefinition)`, Windows-suffixed package-manager invocations can yield `null` delegated definitions, meaning the approval hash may not incorporate the referenced `package.json` script body.

### Issue Context
This PR intentionally removed explicit Windows-suffix entries from policy sets and added canonicalization. The hashing/fingerprinting path must be updated to use the same canonicalization so approval drift detection remains equivalent across platforms and suffix forms.

### Fix Focus Areas
- bin/ultimate-agent-stack.mjs[4216-4270]
- bin/ultimate-agent-stack.mjs[4272-4296]
- (reference) bin/ultimate-agent-stack.mjs[1673-1768]

### Proposed fix
1. In `delegatedCheckDefinition(target, check)`, replace:
  - `const executable = basename(check.argv?.[0] ?? "").toLowerCase();`
  with:
  - `const executable = canonicalExecutableName(check.argv?.[0] ?? "");`
2. Ensure returned `manager` uses the canonical name (so `manager: executable` stays correct).
3. Add/extend a unit test that demonstrates `checksHash()` changes when a referenced npm script body changes even when the quality check uses `npm.cmd` (and similarly for `pnpm.cmd`/`yarn.cmd` if applicable).

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools



Remediation recommended

2. Brittle YAML regex test ✓ Resolved 🐞 Bug ⚙ Maintainability ⭐ New
Description
The new upstream-watch maintenance test matches an exact YAML serialization (indentation, key order,
and adjacency), so semantically equivalent workflow edits (e.g., adding blank lines or reordering
mapping keys) can fail CI. This makes future workflow maintenance unnecessarily risky and can create
false-negative gate failures.
Code

test/maintenance.test.mjs[R1012-1015]

+  assert.match(
+    inspectJob,
+    /^    permissions:\n      contents: read\n      issues: write\n    steps:$/m,
+  );
Relevance

●●● Strong

Team previously accepted relaxing brittle YAML/workflow regexes to tolerate harmless formatting
changes (maintenance tests).

PR-#31
PR-#29

ⓘ Recommendations generated based on similar findings in past PRs

Evidence
The test requires permissions and ref lines to appear with exact line starts and indentation,
which is a property of the YAML’s textual formatting rather than the workflow’s semantics; minor
formatting changes can break the regex while preserving behavior.

test/maintenance.test.mjs[998-1019]
.github/workflows/upstream-watch.yml[14-25]
PR-#31

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

### Issue description
`test/maintenance.test.mjs` asserts the `upstream-watch.yml` job content using regexes anchored to exact indentation and contiguous block layout. These assertions will fail for formatting-only edits that preserve workflow semantics.

### Issue Context
The test builds `inspectJob` by slicing the workflow file as raw text, then applies strict regexes for the permissions block and checkout `ref` line.

### Fix Focus Areas
- test/maintenance.test.mjs[998-1019]

### Suggested fix approach
Choose one:
1. **Relax the regexes** to validate only the meaningful tokens without encoding exact indentation/order, e.g.:
  - permissions: match `permissions:` followed by `contents: read` and `issues: write` with flexible whitespace and without requiring `steps:` immediately after.
  - ref: match `ref:` with flexible whitespace around the GitHub expression.

2. **Parse the workflow YAML** (dev-only) and assert semantic paths instead of raw text (e.g., `jobs.inspect.permissions.contents === 'read'`, `jobs.inspect.permissions.issues === 'write'`, and the checkout step’s `with.ref` value).

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


Grey Divider

To customize comments, go to the Qodo configuration screen, or learn more in the docs.

Previous review results

Review updated until commit 4fc6610

Results up to commit 7bca81c ⚖️ Balanced


🐞 Bugs (0) 📘 Rule violations (0) 📎 Requirement gaps (0) 🎨 UX issues (0) 🔗 Cross-repo conflicts (0) 📜 Skill insights (0)


Action required
1. Approval hash skips .cmd ✓ Resolved 🐞 Bug ⛨ Security
Description
validateCommand now canonicalizes Windows executable suffixes (e.g., npm.cmd→npm) and applies
package-manager rules to the canonical name, but checksHash still relies on delegatedCheckDefinition
which matches package managers using the literal basename. As a result, quality checks invoked as
npm.cmd/pnpm.cmd/yarn.cmd may no longer include the underlying package.json script definition in the
approval hash, weakening drift/approval detection for script-body changes.
Code

bin/ultimate-agent-stack.mjs[1706]

+  const executable = canonicalExecutableName(check.argv[0]);
Relevance

●●● Strong

Team consistently accepts approval-fingerprint hardening (e.g., include env overrides in checksHash)
to prevent bypasses.

PR-#15
PR-#23

ⓘ Recommendations generated based on similar findings in past PRs

Evidence
validateCommand canonicalizes check.argv[0] before applying PACKAGE_MANAGERS rules, but
delegatedCheckDefinition (used by checksHash) still matches package managers using
basename(...).toLowerCase(). Since PACKAGE_MANAGERS is now canonical-only, npm.cmd will be
treated as a package manager for validation yet produce a null delegated definition for hashing,
omitting the package.json script body from the approval payload.

bin/ultimate-agent-stack.mjs[1673-1768]
bin/ultimate-agent-stack.mjs[184-189]
bin/ultimate-agent-stack.mjs[4216-4296]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

### Issue description
`validateCommand()` now uses `canonicalExecutableName(check.argv[0])`, so `npm.cmd` is treated as `npm` for policy enforcement. However, `delegatedCheckDefinition()` still derives `executable` via `basename(...).toLowerCase()` and checks membership in `PACKAGE_MANAGERS`, which contains only canonical names.

Because `checksHash()` includes `delegated_definitions: checks.map(delegatedCheckDefinition)`, Windows-suffixed package-manager invocations can yield `null` delegated definitions, meaning the approval hash may not incorporate the referenced `package.json` script body.

### Issue Context
This PR intentionally removed explicit Windows-suffix entries from policy sets and added canonicalization. The hashing/fingerprinting path must be updated to use the same canonicalization so approval drift detection remains equivalent across platforms and suffix forms.

### Fix Focus Areas
- bin/ultimate-agent-stack.mjs[4216-4270]
- bin/ultimate-agent-stack.mjs[4272-4296]
- (reference) bin/ultimate-agent-stack.mjs[1673-1768]

### Proposed fix
1. In `delegatedCheckDefinition(target, check)`, replace:
  - `const executable = basename(check.argv?.[0] ?? "").toLowerCase();`
  with:
  - `const executable = canonicalExecutableName(check.argv?.[0] ?? "");`
2. Ensure returned `manager` uses the canonical name (so `manager: executable` stays correct).
3. Add/extend a unit test that demonstrates `checksHash()` changes when a referenced npm script body changes even when the quality check uses `npm.cmd` (and similarly for `pnpm.cmd`/`yarn.cmd` if applicable).

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


Qodo Logo

Comment thread bin/ultimate-agent-stack.mjs

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 4

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In @.github/workflows/upstream-watch.yml:
- Around line 17-19: Update the workflow job around actions/checkout and the
issues: write permission so manually dispatched runs cannot execute
repository-controlled code from an untrusted ref. Either restrict the job to the
repository’s default branch or configure checkout to explicitly use the default
branch before invoking scripts/upstream-issue.mjs.

In `@bin/ultimate-agent-stack.mjs`:
- Line 1706: Update the inline-evaluation validation around
canonicalExecutableName so versioned interpreter names are rejected before the
exact INLINE_EVALUATION_ARGUMENTS lookup. Match supported interpreter families,
including Python, Node, Ruby, PHP, Perl, and Deno, while preserving validation
for unversioned supported executables; add coverage for each versioned
executable variant.

In `@package.json`:
- Line 37: Update the test:coverage script in package.json to quote each
--test-coverage-include glob for bin/**/*.mjs, lib/**/*.mjs, and
scripts/**/*.mjs, ensuring the shell passes the patterns unchanged to Node
across supported platforms.

In `@test/maintenance.test.mjs`:
- Around line 998-1005: Update the test named “upstream watch scopes issue
writes to its only writing job” to extract the upstream-watch workflow’s inspect
job block before asserting permissions. Within that block, assert the exact
permissions block and require cancel-in-progress to be false, preventing matches
from later jobs or an unintended true value.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 417e0aae-330b-467d-8af0-63c48b2f39d4

📥 Commits

Reviewing files that changed from the base of the PR and between 4e34662 and 7bca81c.

⛔ Files ignored due to path filters (1)
  • package-lock.json is excluded by !**/package-lock.json
📒 Files selected for processing (18)
  • .codex-plugin/plugin.json
  • .github/CODEOWNERS
  • .github/workflows/ci.yml
  • .github/workflows/publish.yml
  • .github/workflows/sync-github-release.yml
  • .github/workflows/upstream-watch.yml
  • CHANGELOG.md
  • CONTRIBUTING.md
  • README.md
  • bin/ultimate-agent-stack.mjs
  • docs/OPERATING_MANUAL.md
  • docs/SKILL_STACK.md
  • docs/TRUST.md
  • evals/fixture-baselines.json
  • package.json
  • scripts/packed-smoke.mjs
  • test/agent-stack.test.mjs
  • test/maintenance.test.mjs

Comment thread .github/workflows/upstream-watch.yml
Comment thread bin/ultimate-agent-stack.mjs
Comment thread package.json Outdated
Comment thread test/maintenance.test.mjs
@samtay32

samtay32 commented Aug 2, 2026

Copy link
Copy Markdown
Owner Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Aug 2, 2026

Copy link
Copy Markdown
✅ Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@samtay32

samtay32 commented Aug 2, 2026

Copy link
Copy Markdown
Owner Author

@coderabbitai full review

@coderabbitai

coderabbitai Bot commented Aug 2, 2026

Copy link
Copy Markdown
✅ Action performed

Full review finished.


Your included review limit is currently reached under our Fair Usage Limits Policy. Your recent PR review activity is in the 95th percentile or higher among CodeRabbit users, so adaptive limits apply. This review may still proceed through usage-based billing if eligible. Your next included review will be available in 12 minutes.

@samtay32

samtay32 commented Aug 2, 2026

Copy link
Copy Markdown
Owner Author

Exact-head live compatibility receipt

Commit: 7f568aa79f66f5808609937742e544c2c3f36765

The deterministic release gate is green on this exact head: 227 tests, coverage floors satisfied, 28 behavior contracts / 13 skills, package smoke green, and a packed ultimate-agent-stack@0.9.2 tarball with 116 files and zero runtime dependencies. GitHub CI is also green on Ubuntu Node 22, Windows Node 22, Windows current, verification, and CodeQL.

Harness Behavior routing Required positive activation receipts Direct-path independent-review integrity
Codex CLI 0.145.0 4/4 3/3 Fail — reviewer delegation failed, but the session later claimed independent review
Claude Code 2.1.89 4/4 1/3 Fail — build/test/commit succeeded, but no independent-review receipt was produced

The four focused scenarios covered explanation-only negative intent, vague discovery, an elaborate external PRD, and bounded direct execution. Both harnesses routed all four behaviors correctly. The external PRD stayed in EXTERNAL/DRAFT, retained source IDs, and did not force a start-from-scratch flow. The direct scenarios produced working code and passing tests in disposable local fixtures; they did not push provider or GitHub changes.

Honest limitations found

  1. Claude Code safe noninteractive runs do not reliably persist skill-activation receipts.
  2. A failed/empty reviewer delegation can still be followed by an unsupported “independently reviewed” claim unless downstream evidence validation is invoked.
  3. Codex prompt overhead was high for these small cases: 3,093,189 input tokens (2,823,680 cached) and 27,643 output tokens across four runs.
  4. Claude spend, including two discarded path-alias diagnostic repeats, was approximately $1.63.

No further paid model runs are planned for this PR. These results support the routing/flexibility claim, but they do not support claiming mechanically enforced independent review in every harness. Follow-up should stay narrow: improve receipt reliability and prevent unsupported reviewer claims without adding harness lock-in or broad new machinery.

@samtay32

samtay32 commented Aug 2, 2026

Copy link
Copy Markdown
Owner Author

/review

Comment thread test/maintenance.test.mjs Outdated
@qodo-code-review

Copy link
Copy Markdown

Code review by qodo was updated up to the latest commit 7f568aa

@samtay32

samtay32 commented Aug 2, 2026

Copy link
Copy Markdown
Owner Author

/review

@samtay32

samtay32 commented Aug 2, 2026

Copy link
Copy Markdown
Owner Author

Exact-head addendum

Current commit: 4fc66103f33e99f322ae7511896d4cc3ca4ae0f7

The only change after the live receipt is a formatting-tolerant assertion in test/maintenance.test.mjs; package code, shipped artifacts, behavior contracts, and the behavior-surface hash are unchanged. The full Node 22 release gate remains green (227 tests). The live compatibility evidence from 7f568aa therefore carries forward without another paid model run.

@qodo-code-review

Copy link
Copy Markdown

Code review by qodo was updated up to the latest commit 4fc6610

@samtay32
samtay32 merged commit a3279ad into main Aug 2, 2026
18 of 26 checks passed
@samtay32
samtay32 deleted the codex/harden-0-9-2 branch August 2, 2026 08:30
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