Apply GH-DEC-2026-017: declare layer Staff, make layer.yaml derived, answer the section 4 question.
gate-house ruled the section 3 vocabulary closed at four case-insensitive tokens and named Staff (role pep-shaped unchanged). Both files were changed the same day, as this repository had committed to. INTENT.md now governs. layer.yaml is marked derived from INTENT.md and carries no standard or companion version. The reasoning behind `surface` stays in layer.yaml as history. INFD-IN-0006 is closed. INFD-IN-0007 asks once more how section 3.4's Staff definition fits a deterministic, non-agentic, evidence-holding repository. It is a question only: nothing waits on it. Section 4 answer: yes, as a Staff / pep-shaped / evidence-source row. The emission guarantee is owed per event class: presentation (volume), disposition (rare), stance-application (rare). See docs/section-4-catalog-row.md. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Assistant: claude-code Assistant-Model: opus Assistant-Process: 63291@bnt-lap001 Assistant-Session: 8bd77868-ca68-4f49-bb1e-d539ecc0d703
This commit is contained in:
parent
d0d0bad66d
commit
f5cd5d9376
6 changed files with 546 additions and 53 deletions
|
|
@ -197,3 +197,44 @@ def test_classification_coverage_is_dated_and_complete_against_the_axis(stance_d
|
|||
cov = stance_doc["classification_coverage"]
|
||||
assert cov["as_of"]
|
||||
assert cov["axis_values_enumerated"] == cov["axis_values_in_schema"] == len(AXIS_VALUES)
|
||||
|
||||
|
||||
# --------------------------------------------------------------------------
|
||||
# GH-DEC-2026-017 — INTENT.md governs; layer.yaml is derived and must agree;
|
||||
# the vocabulary is closed at four tokens and case-insensitive; no version.
|
||||
# --------------------------------------------------------------------------
|
||||
|
||||
LAYER_VOCABULARY = {"taxonomy", "tooling", "engine", "staff"}
|
||||
|
||||
|
||||
@pytest.fixture(scope="module")
|
||||
def intent_frontmatter() -> dict:
|
||||
text = (ROOT / "INTENT.md").read_text(encoding="utf-8")
|
||||
_, front, _ = text.split("---\n", 2)
|
||||
return yaml.safe_load(front)
|
||||
|
||||
|
||||
def test_intent_declares_a_layer_inside_the_closed_vocabulary(intent_frontmatter):
|
||||
assert intent_frontmatter["layer"].casefold() in LAYER_VOCABULARY
|
||||
|
||||
|
||||
def test_layer_is_staff_as_ruled(intent_frontmatter):
|
||||
assert intent_frontmatter["layer"].casefold() == "staff"
|
||||
assert intent_frontmatter["role"] == "pep-shaped"
|
||||
|
||||
|
||||
def test_sidecar_is_marked_derived_from_intent(layer_doc):
|
||||
assert layer_doc["derived"] is True
|
||||
assert layer_doc["derives_from"] == "INTENT.md"
|
||||
|
||||
|
||||
def test_sidecar_agrees_with_intent(layer_doc, intent_frontmatter):
|
||||
assert layer_doc["layer"].casefold() == intent_frontmatter["layer"].casefold()
|
||||
assert layer_doc["role"] == intent_frontmatter["role"]
|
||||
|
||||
|
||||
def test_declaration_carries_no_standard_version(layer_doc, intent_frontmatter):
|
||||
for doc in (layer_doc, intent_frontmatter):
|
||||
assert "standard_version" not in doc
|
||||
assert "companion_version" not in doc
|
||||
assert "_v0." not in str(intent_frontmatter.get("standard", ""))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue