DD-338 Phase D.5 — marketplace refresh runbook + automation wrapper #31
No reviewers
Labels
No labels
boundary:crosses
boundary:none
bug
devfu
documentation
duplicate
enhancement
epic
good first issue
help wanted
invalid
needs-info
needs-triage
question
ready-for-agent
ready-for-human
svd:fire
svd:go
svd:hold
svd:respec
svd:skip
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Stallari/plugins!31
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feat/dd-338-d5-build-catalog-republish"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Final substantive Phase D sub-phase: a thin ESM Node wrapper around the existing
scripts/build-catalog.jsplus an operational runbook covering the D.2 → D.3 → D.5 → daemon refresh chain.scripts/dd-338-refresh-catalog.mjs(200 LOC) — orchestrates snapshot → regenerate → diff → summary. Move-renamesdist/catalog.jsontodist/catalog.json.prev, runsbuild-catalog.jsas a child process with stdio inherited, then diffs across five granularity axes (scope_filtering,field_projection,deterministic_ordering,audit_surface,domain_scope) plus entry-leveltier/readinessand presence-level tool add/remove. Output todist/dd-338-refresh-summary.json(gitignored) + brief stdout summary.docs/dd-338-marketplace-refresh.md— five-step runbook (regenerate → review → commit+push → daemon refresh → verify) with structured-summary shape example + failure-modes table.scripts/dd-338-refresh-catalog.test.js— 10 new test cases covering baseline run, identical catalogs, single tool-axis flip, entry tier flip, entry add/remove, tool-presence add/remove, plus threeformatSummaryrendering cases.Behaviour
dist/catalog.jsonpresent): summary marksbaseline:true, every entry counted as an addition.No catalog changes detected.— verified end-to-end against current main (6f29143): 59 plugins + 11 packs = 70 entries indexed on baseline, empty-diff on re-run.dist/catalog.json.prev, exit code propagates frombuild-catalog.js.Test plan
node --check scripts/dd-338-refresh-catalog.mjs— syntax cleannode --test scripts/dd-338-refresh-catalog.test.js— 10/10 passbuild-forge-context.jsregenerates the ignoredscripts/generated/artefact (pre-existing dependency, not introduced here)--applyoutput to confirm the diff matches the proposals (deferred to first live D.3 cycle)Scope-out
stallari-registry-infradeploy pipelinestallari-cli registry refreshdocumented in runbook §4tier_issuance.py --applyCloses DD-338 Phase D.5. Final substantive Phase D sub-phase before the ≤10% refuse-envelope gate verification (D.4's territory).
🤖 Generated with Claude Code