Night Market Architecture Contract
Arkitekturinvarianter, ADR'er og kendte svagheder — afgrænset til claude-night-market repoet
Testet · Virker
Hvad det gør
En skriftlig arkitekturkontrakt for claude-night-market plugin-økosystemet: seks bærende designbeslutninger, en invariant-tabel, der navngiver CI-scriptet eller testen, der håndhæver hver enkelt, fem accepterede svagheder og et sammendrag af alle ADR'er i docs/adr/. Den udløses, når man vurderer en designændring, der krydser en plugin-grænse, berører en hook, tilføjer en skill eller bump'er en version, og den overdrager eksplicit gating til night-market-change-control. Hver påstand citerer en ADR, en commit-hash eller en indtjekket håndhævelsesfil, so it is only useful inside this one repo.
Testrapport
Klonede repoet og gennemgik et 4-delt designforslag to gange — baseline på /private/tmp/.../scratchpad/nmac_baseline.md, skill-fulgt på nmac_skill.md — og alle fire domme vendte. Baseline læste `requires-python = ">=3.12"` i pyproject.toml og GODKENDTE brugen af `datetime.UTC` i en plugin-hook; skillen AFVISTE det, fordi hooks kører under host Python 3.9 fra en cache-mappe, hvilket jeg bekræftede in-tree (`UP017` ignoreret med kommentaren "keep timezone.utc for Python 3.9 compat" i pyproject.toml:174, AST guard plugins/leyline/tests/test_python39_compat.py, 12 hook-mapper listet i .github/workflows/python39-compat.yml). Baseline GODKENDTE også de-duplikering af tre tasks_manager.py kopier; skillen afviste det med henvisning til ADR-0001 plus commits 054e2679 / 29961cd2 / d89a55c7 — jeg hentede alle fem citerede commit-patches fra GitHub (HTTP 200), og emnerne matcher ("consolidate tasks_manager", "Revert...", "differentiate tasks_manag..."), og alle 12 håndhævelsesstier, jeg spot-tjekkede, eksisterer. Frontmatter parses (navn + 149-tegns beskrivelse), installation i en isoleret HOME placerede SKILL.md korrekt, ingen curl|sh / base64 / secret-exfil / injection-tekst. Fradrag: skillens egen oversigt er drevet (hævder 17 ADR'er / v1.9.15 / 198 skills; i dag har repoet 19 / 1.9.17 / 202), selvom den leverer de re-verificeringskommandoer, der fangede dette, og beskrivelsen siger aldrig "claude-night-market", so it would mis-trigger on a generic "design my checkout architecture" if installed outside the repo.
Testet: 2026-07-21 · Claude Code 2.x (agent harness)
Installation
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).
Kommandoer og eksempelprompter
/night-market-architecture-contractArkitekturinvarianter, ADR'er og kendte svagheder — afgrænset til claude-night-market repoet
Skills udløses af almindelige forespørgsler — ingen kommandoer at huske. Efter installationen aktiverer prompter som disse skillen (på engelsk):
Judge whether this design change breaks an invariantList the load-bearing decisions in this architectureIdentify weak points before this design change