fix(dockerfile,ci): fail-closed claude install + hard-gate T4 aggregate (#75 #76) #78

Open
core-be wants to merge 1 commits from fix/75-76-claude-install-t4-gate into main
Member

Supersedes #77.

#75 — Dockerfile:

  • Removes 2>/dev/null || true masking from the npm install -g @anthropic-ai/claude-code RUN so install failures fail the image build.
  • Adds command -v claude PATH assertion to catch prefix misconfigs.

#76 — CI:

  • Removes the skipped acceptance for t4-conformance in the validate aggregate. The job has no job-level skip guards; skipped only arises from dependency failure (already caught). Accepting it let a silently-skipped hard gate pass the aggregate.

Closes #75
Closes #76

Supersedes #77. **#75 — Dockerfile:** - Removes `2>/dev/null || true` masking from the `npm install -g @anthropic-ai/claude-code` RUN so install failures fail the image build. - Adds `command -v claude` PATH assertion to catch prefix misconfigs. **#76 — CI:** - Removes the `skipped` acceptance for `t4-conformance` in the validate aggregate. The job has no job-level skip guards; `skipped` only arises from dependency failure (already caught). Accepting it let a silently-skipped hard gate pass the aggregate. Closes #75 Closes #76
core-be added 1 commit 2026-06-03 03:46:02 +00:00
fix(dockerfile,ci): fail-closed claude install + hard-gate T4 aggregate + validate.needs (#75 #76 #51)
Secret scan / Scan diff for credential-shaped strings (pull_request) Successful in 3s
verify-providers-projection / Regenerate projection, fail on drift, assert registry ⊆ template (pull_request) Failing after 1m57s
CI / Template validation (static) (push) Successful in 4s
CI / Adapter unit tests (push) Successful in 6s
CI / Template validation (static) (pull_request) Successful in 6s
CI / Adapter unit tests (pull_request) Successful in 7s
CI / T4 tier-4 conformance (live) (pull_request) Successful in 1m54s
CI / Template validation (runtime) (push) Successful in 4m5s
CI / Template validation (runtime) (pull_request) Successful in 4m0s
CI / validate (pull_request) Successful in 1s
CI / T4 tier-4 conformance (live) (push) Successful in 4m7s
CI / validate (push) Successful in 1s
291655b142
Dockerfile (#75):
- Remove `2>/dev/null || true` masking from `npm install -g @anthropic-ai/claude-code`
  so install failures fail the image build instead of silently producing a
  green image without the primary runtime engine.
- Add `command -v claude` PATH assertion to catch prefix misconfigs.

CI aggregate (#76):
- Remove the `skipped` acceptance for t4-conformance in the validate
  aggregate. The t4-conformance job has no job-level skip guards, so
  `skipped` only arises from dependency failure (already caught above).
  Accepting it let a silently-skipped hard gate pass the aggregate.

CI validate.needs (#51):
- Add `tests` to the validate job `needs:` so adapter pytest failures
  fail the required aggregate instead of being downstream-orphaned.
- Surface `needs.tests.result` in the aggregate step with the same
  success-or-skipped check pattern as runtime validation.

Supersedes #77.
Closes #75
Closes #76
Closes #51

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
core-be force-pushed fix/75-76-claude-install-t4-gate from 9e58c27419 to 291655b142 2026-06-03 03:46:02 +00:00 Compare
agent-reviewer requested changes 2026-06-11 11:55:17 +00:00
agent-reviewer left a comment
Member

REQUEST_CHANGES — CR3 5-axis review on head 291655b142.

Correctness/robustness blocker: the validate aggregate now includes tests in needs, but the check still accepts tests=skipped as success. That contradicts the new comment and intent that adapter unit tests are required, and it preserves a bypass class where a silently skipped tests job lets CI / validate pass. This PR correctly makes T4 fail-closed by rejecting skipped; the adapter test leg needs the same fail-closed treatment unless there is a documented, intentional skip mode.

CI is also not fully green on the current head: combined status is failure due verify-providers-projection / Regenerate projection, fail on drift, assert registry ⊆ template failing. I did not find a secrets or performance issue, and the Dockerfile fail-closed CLI install itself is directionally sound, but the aggregate skip acceptance needs fixing before approval.

REQUEST_CHANGES — CR3 5-axis review on head 291655b1426a299bb7b81a320f149356230da485. Correctness/robustness blocker: the validate aggregate now includes `tests` in `needs`, but the check still accepts `tests=skipped` as success. That contradicts the new comment and intent that adapter unit tests are required, and it preserves a bypass class where a silently skipped tests job lets `CI / validate` pass. This PR correctly makes T4 fail-closed by rejecting skipped; the adapter test leg needs the same fail-closed treatment unless there is a documented, intentional skip mode. CI is also not fully green on the current head: combined status is failure due `verify-providers-projection / Regenerate projection, fail on drift, assert registry ⊆ template` failing. I did not find a secrets or performance issue, and the Dockerfile fail-closed CLI install itself is directionally sound, but the aggregate skip acceptance needs fixing before approval.
Some optional checks failed
Secret scan / Scan diff for credential-shaped strings (pull_request) Successful in 3s
Required
Details
verify-providers-projection / Regenerate projection, fail on drift, assert registry ⊆ template (pull_request) Failing after 1m57s
CI / Template validation (static) (push) Successful in 4s
CI / Adapter unit tests (push) Successful in 6s
CI / Template validation (static) (pull_request) Successful in 6s
Required
Details
CI / Adapter unit tests (pull_request) Successful in 7s
Required
Details
CI / T4 tier-4 conformance (live) (pull_request) Successful in 1m54s
CI / Template validation (runtime) (push) Successful in 4m5s
CI / Template validation (runtime) (pull_request) Successful in 4m0s
Required
Details
CI / validate (pull_request) Successful in 1s
CI / T4 tier-4 conformance (live) (push) Successful in 4m7s
CI / validate (push) Successful in 1s
Checking for merge conflicts…
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin fix/75-76-claude-install-t4-gate:fix/75-76-claude-install-t4-gate
git checkout fix/75-76-claude-install-t4-gate
Sign in to join this conversation.
No Reviewers
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: molecule-ai/molecule-ai-workspace-template-claude-code#78