feat: 가상화 문서들 추가

This commit is contained in:
DongHyeonka
2026-09-10 08:54:05 +09:00
parent e9f6a93327
commit 43e1aadef0
695 changed files with 153404 additions and 12754 deletions
@@ -46,6 +46,31 @@ analysis material in one file. Only the first is candidate material.
`excluded` names the parts that are evidence rather than candidates. A node may cite an
anchor from an excluded part in `source`; it may not exist because of one.
`excludedAnchorPattern` is optional and is the only field the verifier can act on. Without it
the rule above is a sentence nobody enforces — the check that a node did not come *only* from
outside the scope is switched off entirely.
```json
"candidateScope": {
"document": "final/document.md",
"sections": ["§3", "§4"],
"excluded": ["제2부 — 모듈 분석 전문"],
"excludedAnchorPattern": "#a[0-9]+$"
}
```
It is a regular expression matched against each `source` anchor. A node whose anchors *all*
match it is an error: it was promoted from evidence, not from the candidate scope.
## Anchors resolve to real sections
`source` and `sourceRefs` anchors are checked against the SSOT's own headings when the project
writes them as heading slugs (`#검토한-선택지와-막힌-지점-ap1` = the h2 slug plus a
discriminator). **Keep one anchor style per project.** A project that numbers its anchors
(`#§1.1`, `#10-2`, `#a18`) gets a warning instead — the verifier cannot tell whether the
section it names exists, and the diagram stage cannot translate the anchor into a
`techviz prepare --heading` value without a person reading it.
## Topics
Each Topic has `topic` (its key), `title`, **`readerQuestion`**, and `kinds` with the five