Reflects the ACTUAL SHIP_GATE.md state after the 2026-06-16 treatment-prep pass, not estimates.
Repo: loadout-os (@mcptoolshop/loadout-os)
Date: 2026-06-16
Type tags: [all] [npm] [cli]
Counts are: checked (evidence-backed [x]) / applicable (items that are not SKIP). SKIPs are not-applicable items (MCP/pypi/vsix/desktop/vscode) or explicit studio-policy skips.
| Category | Checked / Applicable | SKIP | Coordinator / publish-time | Status |
|---|---|---|---|---|
| A. Security | 6 / 6 | 2 ([mcp] egress, [mcp] stack traces) |
— | PASS |
| B. Error Handling | 3 / 3 | 4 ([mcp]×2, [desktop], [vscode]) |
— | PASS |
| C. Operator Docs | 6 / 6 | 1 ([mcp] tool docs) |
— | PASS |
| D. Shipping Hygiene | 6 / 6 | 3 (D4 dependabot policy, [vsix], [desktop]) |
— | PASS |
| E. Identity (soft) | 2 / 4 | — | 2 (translations, GitHub metadata) | partial (soft) |
Hard gates A–D: all applicable items checked or SKIPped honestly → PASS.
- Root SECURITY.md was a template — now a real per-surface threat model (pure core, read-only rituals, write path with andon halt +
.bakcompensator, fail-silent hook; no network/telemetry/secrets; matcher uses plain-string lookups, no user regex → no ReDoS, no eval). - README threat model — added a "Trust model" section (data touched / not touched / permissions).
- Root CHANGELOG.md — was a template stub; now Keep-a-Changelog with an
[Unreleased]consolidation summary (workspace wiring, unified CLI + doctor/report/refresh, matcher recall fix, docs). - D5 npm pack —
packages/clitarball was missing CHANGELOG.md; addedpackages/cli/CHANGELOG.mdandCHANGELOG.mdto the clifilesfield. Verified the tarball now ships dist/ + README.md + CHANGELOG.md + LICENSE.
| Item | Owner | When |
|---|---|---|
| E2 Translations (polyglot-mcp, 8 languages) | Coordinator | BEFORE npm publish + GitHub release |
| E4 GitHub repo metadata (description, homepage, topics) | Coordinator (gh repo edit) |
Publish time |
| D2 actual version-matches-tag | Coordinator | Phase-6 bump to 1.0.0 + tag v1.0.0 (enforcement gate already in release.yml) |
- Version is the placeholder
0.0.0in bothpackage.jsonandpackages/cli/package.json; the coordinator bumps to1.0.0at Phase 6 (per shipcheck product standards: pre-1.0 promotes straight to 1.0.0). Therelease.ymltag-vs-version check enforces the match at tag time. - The first real
npm publishis blocked until the workspace deps (@mcptoolshop/claude-memories,@mcptoolshop/claude-rules) are published or bundled — see the NOTE inrelease.yml:65-69and the multi-repo-publish-sequencing protocol. This is a release-sequencing concern, not a SHIP_GATE item.