Night Market Architecture Contract

Arkitekturinvarianter, ADR'er og kendte svagheder — afgrænset til claude-night-market repoet

Af athola · athola/claude-night-market

Testet · Virker ★ 8.8/10

Night Market Architecture Contract — Arkitekturinvarianter, ADR'er og kendte svagheder — afgrænset til claude-night-market repoet

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 invariant
  • List the load-bearing decisions in this architecture
  • Identify weak points before this design change