docs: bind settlement requirement metadata to implementation PR 16

This commit is contained in:
2026-10-10 04:03:50 +00:00
parent 577bd0b912
commit 4c5cb0627c
3 changed files with 4 additions and 3 deletions
@@ -9,7 +9,7 @@
"applies_to": ["ledger", "dashboard", "mcp"],
"language": "ko",
"issue": "#15",
"implementation_pr": "미정"
"implementation_pr": "https://gitea.jsfamily.quest/jsfamily/jarca-ledger-mcp/pulls/16"
}
---
@@ -664,6 +664,7 @@ REQ-001의 auth gate·cookie/cleanup/logout, REQ-002의 메뉴 10개와 order(`
- 근거 이슈: `#12`
- 구현 PR: `#13`
- Issue #15 구현 PR: https://gitea.jsfamily.quest/jsfamily/jarca-ledger-mcp/pulls/16
- 관련 설계 문서: `docs/data-model.md`, `docs/interface-contract.md`, `docs/project-structure.md`, `docs/runtime-flow.md`
- 관련 요구사항: `REQ-001`, `REQ-002`
- DB lifecycle: writer/bootstrap은 명시적 `init_db()` 호출로만 생성·마이그레이션하고, `read_db()`는 SQLite `mode=ro`로 연다. missing DB는 `db_not_initialized`이며 read path는 no mkdir, no migrate, no commit이다. first-use write만 init_db를 수행하고 auth-before-DB 순서를 보존한다.
+1 -1
View File
@@ -27,7 +27,7 @@ def test_requirement_docs_are_canonical_and_traceable() -> None:
"applies_to": ["ledger", "dashboard", "mcp"],
"language": "ko",
"issue": "#15",
"implementation_pr": "미정",
"implementation_pr": "https://gitea.jsfamily.quest/jsfamily/jarca-ledger-mcp/pulls/16",
}
assert re.search(r"^# REQ-003 — ", body, re.M)
assert "${" not in text
+1 -1
View File
@@ -21,7 +21,7 @@ def test_settlement_requirement_revision_is_additive_and_traceable() -> None:
assert metadata["id"] == "REQ-003"
assert metadata["revision"] == "1.1"
assert metadata["issue"] == "#15"
assert metadata["implementation_pr"] == "미정"
assert metadata["implementation_pr"] == "https://gitea.jsfamily.quest/jsfamily/jarca-ledger-mcp/pulls/16"
assert "#12" in body and "#13" in body
assert re.findall(r"^### REQ-003\.(\d+) —", body, re.M) == [f"{i:02d}" for i in range(1, 12)]
assert re.findall(r"^## (\d+)\. ", body, re.M) == [str(i) for i in range(1, 12)]