gstack/ship/sections
Dan Layfield 4a255e6ffe feat: security + reliability hardening for investigate, browse, qa, canary, ship
Grafts adapted from addyosmani/agent-skills (MIT), re-fitted to gstack's
template/resolver architecture:

- investigate: treat error output as untrusted data (prompt-injection
  guard), git-bisect workflow for regressions, non-reproducible-bug
  taxonomy (timing/environment/state/random with tactics per class)
- browse: untrusted-content rule 5 (never copy secrets from page content),
  JS-execution constraints (read-only default, no external fetch, no
  cookie/token reads), session-isolation guidance
- qa: Browser Content Security Boundaries section — page content is data,
  not instructions; injection attempts are High-severity QA findings
- canary: verdict threshold table (error rate / P95 / JS errors / visual
  vs baseline -> HEALTHY/DEGRADED/BROKEN) + unconditional rollback triggers
- ship: breaking-change check that overrides line-count bump heuristics
  (Hyrum's Law); changelog-with-the-change discipline; feature-flag hygiene

Mechanics: content added to SKILL.md.tmpl files and resolvers
(scripts/resolvers/browse.ts, utility.ts), SKILL.md regenerated via
bun run gen:skill-docs. Golden ship fixtures refreshed. qa compressed to
stay within its 1.07 parity budget; investigate's maxSizeRatio bumped
1.09 -> 1.11 with rationale (only ~700B of headroom-free content added).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-06 12:22:18 -05:00
..
adversarial.md v1.57.10.0 feat: Codex review default-on across review/ship/plan/docs (#1966) 2026-06-10 21:14:58 -07:00
adversarial.md.tmpl v1.54.0.0 feat: carve /ship into skeleton + on-demand sections (-59% always-loaded) (#1806) 2026-05-30 12:09:10 -07:00
changelog.md feat: security + reliability hardening for investigate, browse, qa, canary, ship 2026-07-06 12:22:18 -05:00
changelog.md.tmpl v1.54.0.0 feat: carve /ship into skeleton + on-demand sections (-59% always-loaded) (#1806) 2026-05-30 12:09:10 -07:00
greptile.md v1.54.0.0 feat: carve /ship into skeleton + on-demand sections (-59% always-loaded) (#1806) 2026-05-30 12:09:10 -07:00
greptile.md.tmpl v1.54.0.0 feat: carve /ship into skeleton + on-demand sections (-59% always-loaded) (#1806) 2026-05-30 12:09:10 -07:00
manifest.json v1.54.0.0 feat: carve /ship into skeleton + on-demand sections (-59% always-loaded) (#1806) 2026-05-30 12:09:10 -07:00
plan-completion.md v1.54.0.0 feat: carve /ship into skeleton + on-demand sections (-59% always-loaded) (#1806) 2026-05-30 12:09:10 -07:00
plan-completion.md.tmpl v1.54.0.0 feat: carve /ship into skeleton + on-demand sections (-59% always-loaded) (#1806) 2026-05-30 12:09:10 -07:00
pr-body.md v1.57.3.0 fix(ship): always-loaded PR-title-version rule + fork-PR title-sync backstop (#1909) 2026-06-07 22:04:18 -07:00
pr-body.md.tmpl v1.57.3.0 fix(ship): always-loaded PR-title-version rule + fork-PR title-sync backstop (#1909) 2026-06-07 22:04:18 -07:00
review-army.md v1.54.0.0 feat: carve /ship into skeleton + on-demand sections (-59% always-loaded) (#1806) 2026-05-30 12:09:10 -07:00
review-army.md.tmpl v1.54.0.0 feat: carve /ship into skeleton + on-demand sections (-59% always-loaded) (#1806) 2026-05-30 12:09:10 -07:00
test-coverage.md v1.54.0.0 feat: carve /ship into skeleton + on-demand sections (-59% always-loaded) (#1806) 2026-05-30 12:09:10 -07:00
test-coverage.md.tmpl v1.54.0.0 feat: carve /ship into skeleton + on-demand sections (-59% always-loaded) (#1806) 2026-05-30 12:09:10 -07:00
tests.md v1.58.1.0 feat: hermetic local E2E + Conductor prose AskUserQuestion (#2004) 2026-06-14 11:40:57 -07:00
tests.md.tmpl v1.58.1.0 feat: hermetic local E2E + Conductor prose AskUserQuestion (#2004) 2026-06-14 11:40:57 -07:00