Skip to content

fix(cli): reject unknown words and flags with a usage error (lr-cb8f8d) - #483

Merged
clagentic-merger[bot] merged 5 commits into
mainfrom
fix/lr-cb8f8d-unknown-cli-word
Oct 23, 2026
Merged

clagentic-merger[bot] merged 5 commits into
mainfrom
fix/lr-cb8f8d-unknown-cli-word

Conversation

@clagentic-builder

@clagentic-builder clagentic-builder Bot commented Oct 23, 2026 •

Copy link
Copy Markdown
Contributor

What

The CLI now rejects unknown words and flags with a usage error (exit 1) before any action runs, instead of silently starting or acting. Task: lr-cb8f8d.

Why

A stray word such as bogus --shutdown previously fell through and ran the flag. The guard (lib/cli/arg-validation.js, called from bin/cli.js after the daemon, release, session-verb and schedule-input routes) stops that.

Behaviour change: --flag=value forms (e.g. --port=2633) were silently ignored before and now error; no caller uses them.

lib/updater.js now exports reExecArgs (the existing re-exec argv expression, behaviour unchanged), so the test can feed the real updater argv to the guard.

Caller audit (all pass only recognised tokens): deploy/clagentic-console.service (daemon, routed before the loop), lib/cli/daemon-launch.js (spawns lib/daemon.js directly, no CLI args), lib/updater.js re-exec (original argv + --no-update, recognised), scripts/verify-installed-build.js (--process-build-status), scripts/postinstall.js and install-local-test.js (no CLI invocation with args), package.json dev script (--dev), clagentic-console-dev entry (--dev by name), docs/guides (--activity-diagnostics, --process-build-status). No unrecognised token found.

Class sweep: loop-fallthrough sites in bin/cli.js, 1 hit (the single flag loop).

Fold round 2 (PEACHES advisory, amos.code-craft.4)

Shape 1 (the systemd unit) is now proven by behaviour. The new test takes the captured ExecStart argv from deploy/clagentic-console.service (daemon) and runs it, and daemon --bogus-cb8f8d, through the real bin/cli.js. The CLI is invoked through a temp bin/cli.js symlink with a symlink at lib/node_modules/clagentic-console under the same temp prefix, so the existing daemon-branch link-trap refusal fires: exit 78 with the link trap message, never the guard unrecognised argument error. No daemon starts, no port 2633/2635 is bound, and the live socket and ~/.clagentic/console are untouched (CLAGENTIC_CONSOLE_HOME points at a temp dir). The source-order assertion is kept as a secondary check. No product code changed in this round.

CREW_SOP section 6 caller shapes (bin/cli.js guard)

Shape Caller argv source (file:line) Coverage in test/cli-caller-shapes-lr-cb8f8d.test.js Real run pending
1 systemd unit ExecStart (daemon) deploy/clagentic-console.service:10 (ExecStart= daemon); routed at bin/cli.js:45 argv read from the unit file; real CLI spawn with daemon and daemon --bogus-cb8f8d exits 78 via the daemon branch link-trap refusal, not the guard; source-order check secondary none (daemon branch is routed before the guard)
2 in-app updater re-exec lib/updater.js reExecArgs (line 101) reExecArgs argv for every documented help form passes the guard none
3 scripts/verify-installed-build.js scripts/verify-installed-build.js:182 via scripts/verify-installed.js (--process-build-status) argv captured from a fake binary passes the guard verify:installed-build (npm run verify:installed-build) after the next operator restart, owed on lr-9b03d3 seq 11
4 package.json scripts and clagentic-console-dev package.json scripts (dev: node bin/cli.js --dev); clagentic-console-dev bin entry script argv pass the guard; dev-named symlink spawn: --help exits 0, bad arg exits 1 none
5 operator starts documented in --help --help text in bin/cli.js (help branch at line 181) every flag parsed from the live --help text and combined starts pass the guard none
6 crew lanes and agents (session verbs, schedule-input, agent flags) bin/cli.js routing lines 66 (release), 86 (session verbs), 91 (schedule-input); guard at line 118 routed ahead of the guard; spawn check that a verb error is never the guard error none

lr-cb8f8d note: clagentic-console bogus --shutdown against the live daemon is NOT run by any agent. It is verified by the isolated-home spawn tests only.

Tests

Round 0 (head bcc7e53, before the fold rounds): npm test was run: 3566 tests, 3566 pass, 0 fail.

Round 1 full npm test at cfc4a2b: the failing set held only the tracked flakes: prompt-invariants random interleavings timeout (lr-248bff) in both runs and, in the second run only, ENOTEMPTY teardown in claude: a loop iteration is recorded as the loop and web-UI shutdown_server reaches the announcer (lr-c3e80a).

Round 2 (head 4618dd9): the repo profile declares no test block (clagentic-loadout test run exits 72), and npm test runs the whole suite regardless of arguments, so the impacted files were run directly: both lr-cb8f8d test files (test/cli-caller-shapes-lr-cb8f8d.test.js, test/cli-unknown-arg-lr-cb8f8d.test.js), 24 tests, 24 pass, 0 fail. Known local flakes (lr-248bff, lr-c3e80a) were not re-run; CI runs the full suite.

TASK: lr-cb8f8d

🤖 Generated with Claude Code

CI re-run via an empty commit at 0b482e7: the 4618dd9 failure was the identity flake lr-7da984 (MILLER, lr-cb8f8d seq 2), outside this PR.

Fold round 3 (lr-cb8f8d)

Positional routes must not ignore extra tokens (PEACHES nit on the shape 1 test).

  • daemon with an extra token: prints the shared unrecognised-argument message (lib/cli/arg-validation.js) naming the first extra token and exits 78, before the link-trap probe and before lib/daemon is required. 78 (EX_CONFIG) because the unit lists it in RestartPreventExitStatus, so a mis-edited ExecStart is refused once, not restart-looped.
  • release list-betas with an extra token: same message, exit 1.
  • Shape 1 row change: argv daemon alone still reaches the daemon branch (link-trap exit 78 with the link-trap message, never the guard error); daemon --bogus-cb8f8d now exits 78 with the unrecognised-argument message and never reaches the link-trap probe or the daemon. No real daemon is started and no port or live socket is touched (link-trap symlink layout, isolated home).
  • Class sweep: git grep -n -E "^if (args[0] === |SESSION_VERBS.indexOf(args[0])" -- bin/cli.js, 4 hits (daemon, release, session verbs, schedule-input). daemon and release fixed. Session verbs: parseSessionArgs (lib/cli/session-subcommands.js) rejects any token that is not a known flag with Unknown option for : , exit 1. schedule-input: parseScheduleArgs rejects likewise. Proved by new CLI tests for list-sessions, open-session, send-input and schedule-input list with a stray token. Those parsers are unchanged.
  • Tests: both lr-cb8f8d files run directly (npx node --test): 29 pass, 0 fail. The profile declares no test block (exit 72), so the repo command was used. CI runs the full suite. Failing-test-ID set: empty.
  • CREW_SOP section 6: reachable caller shapes unchanged from earlier rounds; the only changed shape is shape 1 (systemd ExecStart), covered by the captured-argv test.

Task: lr-cb8f8d

🤖 Generated with Claude Code

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@clagentic-security

Copy link
Copy Markdown

BOBBIE — clean (0 finding(s), 1 dropped)
verdict: CLEAN
range: e065e6c..bcc7e53
engine: carrier: gpt-5.6-sol

Dropped candidates (1):

  • test/cli-unknown-arg-lr-cb8f8d.test.js:62 [bobbie.bleed.4] The released-tool test hardcodes /some/path, violating the repository rule that shipped-tree files contain no absolute host paths. (reason: /some/path is a generic placeholder argument value in a test, not a host-specific path; exposes nothing)
{"reviewer": "bobbie", "review_status": "clean", "head_sha": "bcc7e537de086900ca05cf618d3c959537e2c8d4", "pr_number": 483, "scanners_run": [{"scanner": "gitleaks", "status": "ran"}, {"scanner": "trufflehog", "status": "ran"}, {"scanner": "semgrep", "status": "ran"}, {"scanner": "osv-scanner", "status": "not_applicable", "reason": "no packages found to scan"}], "fence_schema_version": 3, "dropped": [{"file": "test/cli-unknown-arg-lr-cb8f8d.test.js", "line": 62, "rule_id": "bobbie.bleed.4", "message": "The released-tool test hardcodes `/some/path`, violating the repository rule that shipped-tree files contain no absolute host paths.", "reason": "/some/path is a generic placeholder argument value in a test, not a host-specific path; exposes nothing"}], "range": {"basis": "base..head", "base": "e065e6ca51a655706107ca4c10600aad18deba13", "head": "bcc7e537de086900ca05cf618d3c959537e2c8d4"}, "engines": [{"engine": "carrier", "model": "gpt-5.6-sol", "chunks": 1}], "verdict_outcome": "CLEAN", "verdict_reasons": [], "evaluator_version": "1", "policy_base_sha": "e065e6ca51a655706107ca4c10600aad18deba13", "evaluated_findings": []}

@clagentic-reviewer

Copy link
Copy Markdown

PEACHES — blocking (1 finding(s), 1 dropped)
verdict: BLOCKED
range: e065e6c..bcc7e53
engine: carrier: gpt-5.6-sol

Verdict reasons (1):

  • bin/cli.js:118:amos.path-choice.5 blocks (computed severity high)

Blocking findings (1):

  • bin/cli.js:118 [amos.path-choice.5] This new runtime CLI guard lacks a CREW_SOP §6 PR-body record naming every reachable caller shape with captured-payload coverage or a pending real run.
    failure sequence: a caller invokes the CLI with a token the new pre-action guard rejects, the action is refused with exit 1, and no CREW_SOP section 6 record names that caller shape or a captured payload for it -> the guard ships unverified against the real callers
    computed severity: high; blocking
    stakes: exposure=exposed (public repository), data_class=regulated (unstated (worst case)), merge_control=uncontrolled (unstated (worst case)), CODEOWNERS: no CODEOWNERS file (context only)
    To clear it, add this entry to .clagentic/loadout/dispositions.yaml on the base branch (an entry present only in the change under review does not apply):
    dispositions:
    - path: "bin/cli.js"
    rule_id: "amos.path-choice.5"
    kind: by_design
    rationale: ""
    by: ""
    at: 2026-10-23

Dropped candidates (1):

  • test/cli-unknown-arg-lr-cb8f8d.test.js:56 [amos.code-craft.10] The released-tool test hardcodes the absolute host path '/some/path', violating the repository ban on absolute host paths; use a relative or generated fixture path. (reason: Placeholder fixture value /some/path in a test is a listed common false positive and the candidate cites no codebase-specific evidence of a leaked host path)
{"reviewer": "peaches", "review_status": "blocking", "head_sha": "bcc7e537de086900ca05cf618d3c959537e2c8d4", "pr_number": 483, "findings_open": [{"id": "f-9b9c16432243f114", "rule_id": "amos.path-choice.5", "head": "bcc7e537de086900ca05cf618d3c959537e2c8d4"}], "fence_schema_version": 3, "failure_sequences": [{"file": "bin/cli.js", "line": 118, "rule_id": "amos.path-choice.5", "failure_sequence": "a caller invokes the CLI with a token the new pre-action guard rejects, the action is refused with exit 1, and no CREW_SOP section 6 record names that caller shape or a captured payload for it -> the guard ships unverified against the real callers"}], "dropped": [{"file": "test/cli-unknown-arg-lr-cb8f8d.test.js", "line": 56, "rule_id": "amos.code-craft.10", "message": "The released-tool test hardcodes the absolute host path '/some/path', violating the repository ban on absolute host paths; use a relative or generated fixture path.", "reason": "Placeholder fixture value /some/path in a test is a listed common false positive and the candidate cites no codebase-specific evidence of a leaked host path"}], "range": {"basis": "base..head", "base": "e065e6ca51a655706107ca4c10600aad18deba13", "head": "bcc7e537de086900ca05cf618d3c959537e2c8d4"}, "engines": [{"engine": "carrier", "model": "gpt-5.6-sol", "chunks": 1}], "verdict_outcome": "BLOCKED", "verdict_reasons": ["bin/cli.js:118:amos.path-choice.5 blocks (computed severity high)"], "evaluator_version": "1", "policy_base_sha": "e065e6ca51a655706107ca4c10600aad18deba13", "evaluated_findings": [{"file": "bin/cli.js", "line": 118, "rule_id": "amos.path-choice.5", "message": "This new runtime CLI guard lacks a CREW_SOP \u00a76 PR-body record naming every reachable caller shape with captured-payload coverage or a pending real run.", "fingerprint": "fp2:ca856692958b9aec", "facts": {"attacker_precondition": "none", "category": "ci_workflow", "durability": "durable", "evidence": "findUnrecognisedArg(args) now prevents normal CLI actions for rejected inputs; the supplied PR material contains no \u00a76 compliance record.", "impact": {"availability": "unknown", "confidentiality": "none", "integrity": "none"}, "reachable": "yes"}}]}

…ument guard (lr-cb8f8d)

Takes argv from the unit template, package.json, the updater re-exec builder, the verify-installed-build call and the --help text. Exports reExecArgs from lib/updater.js without changing behaviour.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@clagentic-security

Copy link
Copy Markdown

BOBBIE — clean (0 finding(s))
verdict: CLEAN
range: since bcc7e53
engine: carrier: gpt-5.6-sol

{"reviewer": "bobbie", "review_status": "clean", "head_sha": "cfc4a2b0890d0620ef664dedf86f2841838f78ed", "pr_number": 483, "scanners_run": [{"scanner": "gitleaks", "status": "ran"}, {"scanner": "trufflehog", "status": "ran"}, {"scanner": "semgrep", "status": "ran"}, {"scanner": "osv-scanner", "status": "not_applicable", "reason": "no packages found to scan"}], "fence_schema_version": 3, "range": {"basis": "since", "since": "bcc7e537de086900ca05cf618d3c959537e2c8d4", "head": "cfc4a2b0890d0620ef664dedf86f2841838f78ed"}, "engines": [{"engine": "carrier", "model": "gpt-5.6-sol", "chunks": 1}], "verdict_outcome": "CLEAN", "verdict_reasons": [], "evaluator_version": "1", "policy_base_sha": "e065e6ca51a655706107ca4c10600aad18deba13", "evaluated_findings": []}

@clagentic-reviewer

Copy link
Copy Markdown

PEACHES — clean (1 finding(s), 2 dropped)
verdict: CLEAN
range: since bcc7e53
engine: carrier: gpt-5.6-sol

Advisory findings (1):

  • test/cli-caller-shapes-lr-cb8f8d.test.js:69 [amos.code-craft.4] The daemon regression test only compares source-text positions; a broken daemon branch still passes if the two strings remain ordered.
    computed severity: none; advisory

Dropped candidates (2):

  • bin/cli.js:118 [amos.path-choice.5] This new runtime CLI guard lacks a CREW_SOP §6 PR-body record naming every reachable caller shape with captured-payload coverage or a pending real run. (reason: HOLDEN ruling at cfc4a2b records the section 6 caller-shape record folded into the PR body. The chunk held only lib/updater.js and the test file, so the reviewer could not see the PR body, and the candidate names no omitted reachable caller shape as the ruling requires. Facts absent.)
  • lib/updater.js:153 [amos.code-craft.12] Exporting reExecArgs exposes re-execution internals to every module consumer solely to support a test. (reason: The reExecArgs export is consumed only by the test file, which HOLDEN ruled as the fold. The candidate states no bad outcome (impact none), so the failure-mode gate fails.)
{"reviewer": "peaches", "review_status": "clean", "head_sha": "cfc4a2b0890d0620ef664dedf86f2841838f78ed", "pr_number": 483, "dropped": [{"file": "bin/cli.js", "line": 118, "rule_id": "amos.path-choice.5", "message": "This new runtime CLI guard lacks a CREW_SOP \u00a76 PR-body record naming every reachable caller shape with captured-payload coverage or a pending real run.", "reason": "HOLDEN ruling at cfc4a2b0 records the section 6 caller-shape record folded into the PR body. The chunk held only lib/updater.js and the test file, so the reviewer could not see the PR body, and the candidate names no omitted reachable caller shape as the ruling requires. Facts absent."}, {"file": "lib/updater.js", "line": 153, "rule_id": "amos.code-craft.12", "message": "Exporting reExecArgs exposes re-execution internals to every module consumer solely to support a test.", "reason": "The reExecArgs export is consumed only by the test file, which HOLDEN ruled as the fold. The candidate states no bad outcome (impact none), so the failure-mode gate fails."}], "range": {"basis": "since", "since": "bcc7e537de086900ca05cf618d3c959537e2c8d4", "head": "cfc4a2b0890d0620ef664dedf86f2841838f78ed"}, "engines": [{"engine": "carrier", "model": "gpt-5.6-sol", "chunks": 1}], "verdict_outcome": "CLEAN", "verdict_reasons": [], "evaluator_version": "1", "policy_base_sha": "e065e6ca51a655706107ca4c10600aad18deba13", "evaluated_findings": [{"file": "test/cli-caller-shapes-lr-cb8f8d.test.js", "line": 69, "rule_id": "amos.code-craft.4", "message": "The daemon regression test only compares source-text positions; a broken daemon branch still passes if the two strings remain ordered.", "fingerprint": "fp2:c437e028eb7c99c5", "facts": {"attacker_precondition": "none", "category": "test_gap", "durability": "durable", "evidence": "The captured ExecStart argv is never passed through the CLI; routing is inferred using indexOf on bin/cli.js source.", "impact": {"availability": "none", "confidentiality": "none", "integrity": "none"}, "reachable": "yes"}}], "fence_schema_version": 3}

…ap exit (lr-cb8f8d)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@clagentic-reviewer

Copy link
Copy Markdown

PEACHES — clean (0 finding(s))
verdict: CLEAN
range: since cfc4a2b
engine: carrier: gpt-5.6-sol

{"reviewer": "peaches", "review_status": "clean", "head_sha": "4618dd982d1d41f1e614dd0c3ecc35a5e0db2a18", "pr_number": 483, "range": {"basis": "since", "since": "cfc4a2b0890d0620ef664dedf86f2841838f78ed", "head": "4618dd982d1d41f1e614dd0c3ecc35a5e0db2a18"}, "engines": [{"engine": "carrier", "model": "gpt-5.6-sol", "chunks": 1}], "verdict_outcome": "CLEAN", "verdict_reasons": [], "evaluator_version": "1", "policy_base_sha": "e065e6ca51a655706107ca4c10600aad18deba13", "evaluated_findings": [], "fence_schema_version": 3}

@clagentic-security

Copy link
Copy Markdown

BOBBIE — clean (0 finding(s))
verdict: CLEAN
range: since cfc4a2b
engine: carrier: gpt-5.6-sol

{"reviewer": "bobbie", "review_status": "clean", "head_sha": "4618dd982d1d41f1e614dd0c3ecc35a5e0db2a18", "pr_number": 483, "scanners_run": [{"scanner": "gitleaks", "status": "ran"}, {"scanner": "trufflehog", "status": "ran"}, {"scanner": "semgrep", "status": "ran"}, {"scanner": "osv-scanner", "status": "not_applicable", "reason": "no packages found to scan"}], "fence_schema_version": 3, "range": {"basis": "since", "since": "cfc4a2b0890d0620ef664dedf86f2841838f78ed", "head": "4618dd982d1d41f1e614dd0c3ecc35a5e0db2a18"}, "engines": [{"engine": "carrier", "model": "gpt-5.6-sol", "chunks": 1}], "verdict_outcome": "CLEAN", "verdict_reasons": [], "evaluator_version": "1", "policy_base_sha": "e065e6ca51a655706107ca4c10600aad18deba13", "evaluated_findings": []}

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@clagentic-security

Copy link
Copy Markdown

BOBBIE — clean (0 finding(s))
verdict: CLEAN
range: e065e6c..0b482e7
engine: carrier: gpt-5.6-sol

{"reviewer": "bobbie", "review_status": "clean", "head_sha": "0b482e75d13726cce518c3676fb18b516c785572", "pr_number": 483, "scanners_run": [{"scanner": "gitleaks", "status": "ran"}, {"scanner": "trufflehog", "status": "ran"}, {"scanner": "semgrep", "status": "ran"}, {"scanner": "osv-scanner", "status": "not_applicable", "reason": "no packages found to scan"}], "fence_schema_version": 3, "range": {"basis": "base..head", "base": "e065e6ca51a655706107ca4c10600aad18deba13", "head": "0b482e75d13726cce518c3676fb18b516c785572"}, "engines": [{"engine": "carrier", "model": "gpt-5.6-sol", "chunks": 1}], "verdict_outcome": "CLEAN", "verdict_reasons": [], "evaluator_version": "1", "policy_base_sha": "e065e6ca51a655706107ca4c10600aad18deba13", "evaluated_findings": []}

@clagentic-reviewer

Copy link
Copy Markdown

PEACHES — clean (1 finding(s), 2 dropped)
verdict: CLEAN
range: e065e6c..0b482e7
engine: carrier: gpt-5.6-sol

Advisory findings (1):

  • test/cli-caller-shapes-lr-cb8f8d.test.js:87 [amos.path-choice.4] The test codifies an unswept defect: daemon --bogus bypasses the guard, so a real installation can start the daemon despite an unknown argument.
    computed severity: medium; advisory

Dropped candidates (2):

  • bin/cli.js:120 [amos.path-choice.5] This runtime guard change lacks the required CREW_SOP §6 PR-body compliance record; test comments are not the required record. (reason: section 6 record present in PR body (pr.json))
  • lib/updater.js:153 [amos.code-craft.12] reExecArgs is exported solely as a test seam, exposing updater re-execution internals to every module consumer. (reason: HOLDEN ruling for lr-cb8f8d: the reExecArgs export is a test-only seam with no production outside caller, so the drop stands)
{"reviewer": "peaches", "review_status": "clean", "head_sha": "0b482e75d13726cce518c3676fb18b516c785572", "pr_number": 483, "dropped": [{"file": "bin/cli.js", "line": 120, "rule_id": "amos.path-choice.5", "message": "This runtime guard change lacks the required CREW_SOP \u00a76 PR-body compliance record; test comments are not the required record.", "reason": "section 6 record present in PR body (pr.json)"}, {"file": "lib/updater.js", "line": 153, "rule_id": "amos.code-craft.12", "message": "`reExecArgs` is exported solely as a test seam, exposing updater re-execution internals to every module consumer.", "reason": "HOLDEN ruling for lr-cb8f8d: the reExecArgs export is a test-only seam with no production outside caller, so the drop stands"}], "range": {"basis": "base..head", "base": "e065e6ca51a655706107ca4c10600aad18deba13", "head": "0b482e75d13726cce518c3676fb18b516c785572"}, "engines": [{"engine": "carrier", "model": "gpt-5.6-sol", "chunks": 1}], "verdict_outcome": "CLEAN", "verdict_reasons": [], "evaluator_version": "1", "policy_base_sha": "e065e6ca51a655706107ca4c10600aad18deba13", "evaluated_findings": [{"file": "test/cli-caller-shapes-lr-cb8f8d.test.js", "line": 87, "rule_id": "amos.path-choice.4", "message": "The test codifies an unswept defect: `daemon --bogus` bypasses the guard, so a real installation can start the daemon despite an unknown argument.", "fingerprint": "fp2:b2163462ac832f21", "facts": {"attacker_precondition": "has_host_access", "category": "input_validation", "cwe": "CWE-20", "durability": "ephemeral", "evidence": "The test explicitly passes captured.concat([\"--bogus-cb8f8d\"]) and requires the daemon route, rather than an unrecognised-argument failure.", "impact": {"availability": "partial", "confidentiality": "none", "integrity": "partial"}, "reachable": "yes"}}], "fence_schema_version": 3}

…-cb8f8d)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@clagentic-reviewer

Copy link
Copy Markdown

PEACHES — clean (0 finding(s), 1 dropped)
verdict: CLEAN
range: since 0b482e7
engine: carrier: gpt-5.6-sol

Dropped candidates (1):

  • bin/cli.js:45 [amos.path-choice.5] The daemon/release argument gates change runtime dispatch, but no CREW_SOP §6 PR-body record is provided for foreground CLI and background ExecStart caller shapes. (reason: section 6 record present in PR body (pr.json))
{"reviewer": "peaches", "review_status": "clean", "head_sha": "eded0211911f56d71bb26a73ace78186e64f173c", "pr_number": 483, "dropped": [{"file": "bin/cli.js", "line": 45, "rule_id": "amos.path-choice.5", "message": "The daemon/release argument gates change runtime dispatch, but no CREW_SOP \u00a76 PR-body record is provided for foreground CLI and background ExecStart caller shapes.", "reason": "section 6 record present in PR body (pr.json)"}], "range": {"basis": "since", "since": "0b482e75d13726cce518c3676fb18b516c785572", "head": "eded0211911f56d71bb26a73ace78186e64f173c"}, "engines": [{"engine": "carrier", "model": "gpt-5.6-sol", "chunks": 1}], "verdict_outcome": "CLEAN", "verdict_reasons": [], "evaluator_version": "1", "policy_base_sha": "e065e6ca51a655706107ca4c10600aad18deba13", "evaluated_findings": [], "fence_schema_version": 3}

@clagentic-security

Copy link
Copy Markdown

BOBBIE — clean (0 finding(s))
verdict: CLEAN
range: since 0b482e7
engine: carrier: gpt-5.6-sol

{"reviewer": "bobbie", "review_status": "clean", "head_sha": "eded0211911f56d71bb26a73ace78186e64f173c", "pr_number": 483, "scanners_run": [{"scanner": "gitleaks", "status": "ran"}, {"scanner": "trufflehog", "status": "ran"}, {"scanner": "semgrep", "status": "ran"}, {"scanner": "osv-scanner", "status": "not_applicable", "reason": "no packages found to scan"}], "fence_schema_version": 3, "range": {"basis": "since", "since": "0b482e75d13726cce518c3676fb18b516c785572", "head": "eded0211911f56d71bb26a73ace78186e64f173c"}, "engines": [{"engine": "carrier", "model": "gpt-5.6-sol", "chunks": 1}], "verdict_outcome": "CLEAN", "verdict_reasons": [], "evaluator_version": "1", "policy_base_sha": "e065e6ca51a655706107ca4c10600aad18deba13", "evaluated_findings": []}

@clagentic-merger
clagentic-merger Bot merged commit 95b494a into main Oct 23, 2026
6 checks passed
@clagentic-merger

Copy link
Copy Markdown
Contributor

Merged via clagentic-loadout v0.2.0

Field Value
Gated HEAD SHA eded0211911f56d71bb26a73ace78186e64f173c
Merged SHA eded0211911f56d71bb26a73ace78186e64f173c
Reviews clagentic-reviewer[bot], clagentic-security[bot]
Verdicts peaches: fence CLEAN, gate CLEAN
bobbie: fence CLEAN, gate CLEAN
CI status combined_state='pending' (ignored: 0 commit statuses, so the check-runs decide) (0 status(es), 6 run(s); source=check-runs)
task_id lr-cb8f8d

@clagentic-merger
clagentic-merger Bot deleted the fix/lr-cb8f8d-unknown-cli-word branch October 23, 2026 15:35
@clagentic-release-bot

Copy link
Copy Markdown
Contributor

This issue has been resolved in version 1.11.0-beta.2.

To update, run:

npx @clagentic/console@1.11.0-beta.2

@clagentic-release-bot

Copy link
Copy Markdown
Contributor

This issue has been resolved in version 1.11.0.

To update, run:

npx @clagentic/console@1.11.0

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants