Skip to content

docs(github-pr-workflow): add rule to not block sessions waiting on CI#89

Open
dembrane-sam-bot wants to merge 3 commits into
mainfrom
sam/docs-no-block-on-ci
Open

docs(github-pr-workflow): add rule to not block sessions waiting on CI#89
dembrane-sam-bot wants to merge 3 commits into
mainfrom
sam/docs-no-block-on-ci

Conversation

@dembrane-sam-bot
Copy link
Copy Markdown
Contributor

What this changes

  • Sam will no longer sit in sleep loops waiting for long CI runs, reducing session durations and preventing timeout recovery loops — src/skills/github-pr-workflow/skill.md

Why this fits Sam's mission

This implements a direct recommendation from the Claude Opus daily-maintenance review to codify "don't block on CI" as a first-class rule in our workflow, following a 2026-05-25 session timeout (e0c352b08e45) that spent 11× sleeping on GHA.

Confidence

High. This is a docs-only Tier 1 change that establishes clear workflow discipline.

Copy link
Copy Markdown
Member

@spashii spashii left a comment

Choose a reason for hiding this comment

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

Approved as a prose stopgap. The real fix is event-driven — GitHub webhooks listening for check_run/check_suite completion. Tracked in SAM-5 (https://linear.app/dembrane/issue/SAM-5), about to be in-progress. When the webhook receiver lands, this rule becomes obsolete because Sam won't be sitting in sessions waiting for CI at all — the daemon will queue a fresh session on the check_run.completed event.

spashii added a commit that referenced this pull request May 26, 2026
## What this changes

- Adds `CVE-2026-40356` to `.trivyignore` with rationale (krb5 / GSS-API
DoS via integer overflow in code paths Sam doesn't reach)
- Unblocks CI on PRs #88, #89, #90, #91 (all docs-only, all currently
red on this same Debian base-image CVE)

## Why

The 4 docs PRs currently in flight (operator-approved) are blocked by
trivy flagging a freshly-published HIGH CVE in `libgssapi-krb5-2`
(Debian 13.5 base image). The vulnerable code path is GSS-API parsing,
which:

- Slack uses bot tokens, not GSS-API
- GitHub uses PAT + HMAC, not GSS-API
- Vertex uses GCP IAM, not GSS-API
- Sam doesn't run any service that accepts GSS-API authentication

So the affected code path is unreachable from Sam's runtime. Fix arrives
upstream when the base image bumps to `1.21.3-5+deb13u1` (per Debian's
tracker); until then this is a deliberate ignore with rationale
recorded.

Matches the pattern documented in
[SAM-14](https://linear.app/dembrane/issue/SAM-14) "CVE-of-the-day": a
Debian package CVE drops, trivy flags it, every open PR's CI goes red.
The structural fix is either (a) daily-cron audit instead of CI gate or
(b) `--strict false` for advisories without fix-versions in the deployed
image; both are out of scope for this stopgap.

## Tier

3 (touches `.trivyignore`, a security-policy file).

## Confidence

High. CVE is well-documented (krb5 advisory + Debian tracker confirm
GSS-API parsing path, integer overflow → DoS). Sam doesn't run a
Kerberos client or server, and the gh CLI bundled in the image doesn't
link against MIT krb5. Approved by reading the trivy report +
cross-checking the CVE's public description.
spashii added a commit that referenced this pull request May 26, 2026
## What this changes

- Adds `MAL-2026-4750` to `.pipauditignore` with rationale
- Unblocks CI on #86, #88, #89, #90, #91 (now blocked on pip-audit after
the trivy fix in #93 cleared)

## Why

OSV reports `MAL-2026-4750` against `fastapi` with no version
constraints in the advisory's affected-ranges field. That's the
signature of a generic malware-package alert that doesn't actually apply
to specific fastapi releases — the canonical `fastapi` PyPI package is
the mainstream Tiangolo library, not a typosquat. fastapi 0.136.3 is a
real release of the canonical library.

Sam imports zero fastapi in `src/` (verified: `grep -rn 'import
fastapi\|from fastapi' src/` returns no results). fastapi comes in only
as a transitive dep of `google-adk`. Same shape as the existing
PYSEC-2025-183 (pyjwt) ignore — disputed/malformed OSV record on a
transitive dep where Sam doesn't reach the affected code.

## Tier

3 (`.pipauditignore` is security policy).

## Confidence

High. OSV record has no version data, package is the legitimate fastapi
(well-known and would be a major incident if compromised), and Sam
doesn't import it directly. Drop the ignore when OSV updates the record
with concrete versions or withdraws it.
@dembrane-sam-bot dembrane-sam-bot added this pull request to the merge queue May 26, 2026
@github-merge-queue github-merge-queue Bot removed this pull request from the merge queue due to a conflict with the base branch May 26, 2026
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.

2 participants