Night Market Architecture Contract
Architectuurinvarianten, ADR's en bekende zwakke punten — afgestemd op de claude-night-market repo
Getest · Werkt
Wat het doet
Een geschreven architectuurcontract voor het claude-night-market plugin ecosysteem: zes dragende ontwerpbeslissingen, een invariantentabel die het CI-script of de test noemt die elk afdwingt, vijf geaccepteerde zwakke punten, en een samenvatting van alle ADR's in docs/adr/. Het activeert bij het beoordelen van een ontwerpwijziging die een plugin-grens overschrijdt, een hook aanraakt, een skill toevoegt, of een versie verhoogt, en het draagt de gating expliciet over aan night-market-change-control. Elke claim citeert een ADR, een commit hash, of een ingecheckt afdwingingsbestand, dus het is alleen nuttig binnen deze ene repo.
Testrapport
De repo gekloond en één 4-delig ontwerpproposal twee keer beoordeeld — baseline op /private/tmp/.../scratchpad/nmac_baseline.md, skill-gevolgd op nmac_skill.md — en alle vier de oordelen keerden om. Baseline las `requires-python = ">=3.12"` in pyproject.toml en GOEDGEKEURD het gebruik van `datetime.UTC` in een plugin hook; de skill WEIGERDE het omdat hooks draaien onder host Python 3.9 vanuit een cache dir, wat ik in-tree bevestigde (`UP017` genegeerd met commentaar "keep timezone.utc for Python 3.9 compat" op pyproject.toml:174, AST guard plugins/leyline/tests/test_python39_compat.py, 12 hook dirs vermeld in .github/workflows/python39-compat.yml). Baseline KEURDE ook het dedupliceren van drie taken_manager.py kopieën GOED; de skill WEIGERDE het onder verwijzing naar ADR-0001 plus commits 054e2679 / 29961cd2 / d89a55c7 — ik haalde alle vijf geciteerde commit patches op van GitHub (HTTP 200) en de onderwerpen komen overeen ("consolidate tasks_manager", "Revert...", "differentiate tasks_manag..."), en alle 12 afdwingingspaden die ik steekproefsgewijs controleerde, bestaan. Frontmatter parset (naam + 149-tekens beschrijving), installatie in een geïsoleerde HOME plaatste SKILL.md correct, geen curl|sh / base64 / secret-exfil / injection tekst. Deducties: de eigen samenvatting van de skill is afgedwaald (claimt 17 ADR's / v1.9.15 / 198 skills; vandaag heeft de repo 19 / 1.9.17 / 202) hoewel het de herverificatiecommando's levert die dit opvingen, en de beschrijving zegt nooit "claude-night-market", dus het zou verkeerd activeren op een generieke "design my checkout architecture" indien geïnstalleerd buiten de repo.
Getest op: 2026-07-21 · Claude Code 2.x (agent harness)
Installatie
git clone --depth 1 https://github.com/athola/claude-night-market.git /tmp/night-market-architecture-contract-src mkdir -p ~/.claude/skills cp -R /tmp/night-market-architecture-contract-src/.claude/skills/night-market-architecture-contract ~/.claude/skills/night-market-architecture-contract # Single SKILL.md, no scripts, no deps, no API keys. # IMPORTANT SCOPE LIMIT: this skill documents the claude-night-market repo itself. # Every path it cites (docs/adr/, plugins/abstract/scripts/validate_budget.py, # scripts/check_skill_graph_drift.py, .github/workflows/python39-compat.yml ...) # only resolves when your cwd IS that repo. Installed into an unrelated project # it will still load (description says only "judging a design change") and give # you facts about someone else's codebase. Use it as a repo-local skill. # Sibling skills in the same dir: night-market-change-control (gating), # night-market-failure-archaeology (incidents), night-market-operations (commands).
Commando's en voorbeeldprompts
/night-market-architecture-contractArchitectuurinvarianten, ADR's en bekende zwakke punten — afgestemd op de claude-night-market repo
Skills reageren op gewone verzoeken — geen commando's om te onthouden. Na installatie activeren prompts zoals deze de skill (in het Engels):
Judge whether this design change breaks an invariantList the load-bearing decisions in this architectureIdentify weak points before this design change