이번 파이프라인 작업과 무관하게 작업 트리에 남아 있던 것을 그대로 올린다. 사용자가 「전부 커밋」으로 정했고, 이번 작업과 섞이지 않게 커밋만 나눴다. 대부분은 clean-architecture-backend-template 의 그림 정본 재배치다 — final/assets/diagrams/<이름>/ 에 있던 것이 CLAUDE.md 가 적은 배치인 final/assets/<이름>/ 로 옮겨졌고 .techviz/<이름>/ 이 함께 들어왔다. 삽입 줄의 대부분(3.15M)이 그 .techviz context.json 이다. 그 밖에 ca-tmpl·document-haness 의 정리, .claude/agents/ 열한 개, writing-practitioner-guides 스킬, .playwright-mcp 세션 산출물, scripts/check-ssot-facts.py 와 그 시험이 들어 있다. 이 커밋의 내용은 내가 만든 것이 아니라 이전 세션이 남긴 것이고 검증하지 않았다. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
82 lines
3.5 KiB
Markdown
82 lines
3.5 KiB
Markdown
# Tech Log Tree Decomposition Checklist
|
|
|
|
## Selection
|
|
|
|
- [ ] Every analysis candidate carries a disposition, and `KEEP_IN_SSOT` is used.
|
|
- [ ] `dispositionReview: PENDING` is 0 — nothing reached the tree by recall alone.
|
|
- [ ] Each `PROMOTE` node passes the independence test.
|
|
- [ ] Candidates were discovered from `final/document.md`, not from `analysis/**`.
|
|
- [ ] Material found only in `analysis/**` was added to `final/document.md` first.
|
|
- [ ] `candidateScope` is declared, and no candidate came from outside it.
|
|
|
|
## Source integrity
|
|
|
|
- [ ] The tree records the source document hash, ledger hash, and project revision.
|
|
- [ ] Every node has at least one source anchor.
|
|
- [ ] Source anchors actually contain the material implied by the title.
|
|
- [ ] Runtime-dependent claims name evidence or use `NEEDS_EVIDENCE`.
|
|
- [ ] `readiness` states how well evidenced the node is. It does not state whether the
|
|
record has been written or published.
|
|
|
|
## Topic quality
|
|
|
|
- [ ] Every Topic has one reader question, and every node in it helps answer that question.
|
|
- [ ] No two Topics share a reader question.
|
|
- [ ] Topic is an engineering problem space rather than a directory name.
|
|
- [ ] A large Topic is split when its records no longer share useful relations/criteria.
|
|
|
|
## Case
|
|
|
|
- [ ] There is a specific incident, experiment, failure, diagnosis, or verification sequence.
|
|
- [ ] The title can be understood without inventing a historical story.
|
|
- [ ] The conclusion is bounded by actual evidence.
|
|
- [ ] Observations that answer the same question with the same conclusion are one Case,
|
|
as a table or sub-sections — not several partial Cases.
|
|
|
|
## Concept
|
|
|
|
- [ ] It was added because a Case, Decision, or Question needs it, not by sweeping headings.
|
|
- [ ] `basis-version` names what the explanation was written against.
|
|
- [ ] The title names a mechanism, not an absence, a count, or an analysis-scope fact.
|
|
- [ ] No analysis section number or finding grade survives in the title.
|
|
|
|
## Setup
|
|
|
|
- [ ] Someone other than the author has to run it; it is not one Case's reproduction steps.
|
|
- [ ] The commands and configuration values come from the analysis, not from memory.
|
|
- [ ] `pinned-versions` names the versions the procedure was established on.
|
|
- [ ] A project is set. No verification date is invented to stand in for the versions.
|
|
|
|
## Reference
|
|
|
|
- [ ] The rule is reusable beyond the originating incident.
|
|
- [ ] It is not the Case summary rewritten declaratively.
|
|
- [ ] Scope and exception can be stated from sources.
|
|
|
|
## Open Question
|
|
|
|
- [ ] The answer is not already in the analysis.
|
|
- [ ] Known/unknown/next verification are separable.
|
|
- [ ] The design or a decision actually turns on the answer.
|
|
- [ ] Candidate options are included only when sources really considered them.
|
|
|
|
## Decision
|
|
|
|
- [ ] A project choice is explicitly recorded or user-supplied.
|
|
- [ ] `technology is present` is not being treated as rationale.
|
|
- [ ] The accepted cost is stated, not only the benefit.
|
|
- [ ] `NEEDS_DECISION` is used if the direction is only a recommendation.
|
|
|
|
## Duplication and shape
|
|
|
|
- [ ] No two nodes have the same primary purpose.
|
|
- [ ] Relations are used instead of copying one record into another.
|
|
- [ ] Node count is bounded by what a reader would read, not by the analysis denominator.
|
|
|
|
## Parity
|
|
|
|
- [ ] Every node traces back to a `PROMOTE` candidate, and every `PROMOTE` candidate has a node.
|
|
- [ ] `counts` matches what `build-tech-log-tree.py` produces.
|
|
- [ ] `unlisted` is empty — no record file exists outside the contract.
|
|
- [ ] `python3 scripts/verify-tech-log-tree.py <project>` reports 0 errors.
|