Skip to content

Commit 7b30081

Browse files
committed
Align public-layer layer order with atlas stack
1 parent 0017b39 commit 7b30081

2 files changed

Lines changed: 91 additions & 38 deletions

File tree

pilots/living-knowledge-case/cases/power-posing/public-layer-verification-atlas-v1.md

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,42 @@ The orchestration boundary is now explicit rather than only implied by scattered
6969

7070
---
7171

72+
## Orchestrator-facing layer order
73+
74+
To keep the single-check output, the orchestrator summary, and this atlas from drifting apart, the current orchestrator-facing layer order should stay pinned to the stack above.
75+
76+
The current layer-to-check grouping is:
77+
78+
1. **protocol consistency floor**
79+
- `check_protocol_record_consistency.py`
80+
2. **object-envelope floor**
81+
- `check_power_posing_object_envelope.py`
82+
3. **judgment wording bridge**
83+
- `check_power_posing_verdict_grammar.py`
84+
- `check_power_posing_status_legend.py`
85+
4. **claim page public layer**
86+
- `check_power_posing_claim_page_layering.py`
87+
- `check_power_posing_claim_page_pressure_coverage.py`
88+
5. **source page public layer**
89+
- `check_power_posing_source_page_layering.py`
90+
- `check_power_posing_source_page_role_anchors.py`
91+
- `check_power_posing_reference_metadata.py`
92+
6. **snapshot release-view layer**
93+
- `check_power_posing_snapshot_section_layering.py`
94+
- `check_power_posing_snapshot_subsection_semantics.py`
95+
- `check_power_posing_snapshot_consistency.py`
96+
7. **page emission layer**
97+
- `check_power_posing_public_surface.py`
98+
- `page/generate_page_data.py --check`
99+
8. **public-layer orchestration boundary**
100+
- `check_power_posing_public_layer_atlas.py`
101+
- `check_power_posing_public_layer.py` as the suite entry surface
102+
103+
This grouping is not a new checker taxonomy.
104+
It is a small naming and ordering discipline that keeps the public-layer stack readable when the suite emits a compact verdict table.
105+
106+
---
107+
72108
## Current checker atlas
73109

74110
The public-layer subset currently includes at least the following named checks:

scripts/check_power_posing_public_layer.py

Lines changed: 55 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -12,97 +12,109 @@
1212
PAGE_GENERATOR = REPO_ROOT / "pilots" / "living-knowledge-case" / "cases" / "power-posing" / "page" / "generate_page_data.py"
1313

1414
PUBLIC_LAYER_CHECKS = [
15+
{
16+
"name": "protocol_record_consistency",
17+
"label": "Protocol consistency",
18+
"layer": "protocol consistency floor",
19+
"cmd": [PYTHON, "scripts/check_protocol_record_consistency.py"],
20+
},
21+
{
22+
"name": "object_envelope",
23+
"label": "Object envelope",
24+
"layer": "object-envelope floor",
25+
"cmd": [PYTHON, "scripts/check_power_posing_object_envelope.py"],
26+
},
1527
{
1628
"name": "verdict_grammar",
1729
"label": "Verdict grammar",
18-
"layer": "judgment wording",
30+
"layer": "judgment wording bridge",
1931
"cmd": [PYTHON, "scripts/check_power_posing_verdict_grammar.py"],
2032
},
2133
{
2234
"name": "status_legend",
2335
"label": "Status legend",
24-
"layer": "judgment wording",
36+
"layer": "judgment wording bridge",
2537
"cmd": [PYTHON, "scripts/check_power_posing_status_legend.py"],
2638
},
2739
{
2840
"name": "claim_page_layering",
2941
"label": "Claim page layering",
30-
"layer": "claim page",
42+
"layer": "claim page public layer",
3143
"cmd": [PYTHON, "scripts/check_power_posing_claim_page_layering.py"],
3244
},
3345
{
3446
"name": "claim_page_pressure_coverage",
3547
"label": "Claim pressure coverage",
36-
"layer": "claim page",
48+
"layer": "claim page public layer",
3749
"cmd": [PYTHON, "scripts/check_power_posing_claim_page_pressure_coverage.py"],
3850
},
3951
{
4052
"name": "source_page_layering",
4153
"label": "Source page layering",
42-
"layer": "source page",
54+
"layer": "source page public layer",
4355
"cmd": [PYTHON, "scripts/check_power_posing_source_page_layering.py"],
4456
},
4557
{
4658
"name": "source_page_role_anchors",
4759
"label": "Source role anchors",
48-
"layer": "source page",
60+
"layer": "source page public layer",
4961
"cmd": [PYTHON, "scripts/check_power_posing_source_page_role_anchors.py"],
5062
},
63+
{
64+
"name": "reference_metadata",
65+
"label": "Reference metadata",
66+
"layer": "source page public layer",
67+
"cmd": [PYTHON, "scripts/check_power_posing_reference_metadata.py"],
68+
},
5169
{
5270
"name": "snapshot_section_layering",
5371
"label": "Snapshot section layering",
54-
"layer": "snapshot release view",
72+
"layer": "snapshot release-view layer",
5573
"cmd": [PYTHON, "scripts/check_power_posing_snapshot_section_layering.py"],
5674
},
5775
{
5876
"name": "snapshot_subsection_semantics",
5977
"label": "Snapshot semantics",
60-
"layer": "snapshot release view",
78+
"layer": "snapshot release-view layer",
6179
"cmd": [PYTHON, "scripts/check_power_posing_snapshot_subsection_semantics.py"],
6280
},
6381
{
6482
"name": "snapshot_consistency",
6583
"label": "Snapshot consistency",
66-
"layer": "snapshot release view",
84+
"layer": "snapshot release-view layer",
6785
"cmd": [PYTHON, "scripts/check_power_posing_snapshot_consistency.py"],
6886
},
69-
{
70-
"name": "reference_metadata",
71-
"label": "Reference metadata",
72-
"layer": "reference surface",
73-
"cmd": [PYTHON, "scripts/check_power_posing_reference_metadata.py"],
74-
},
7587
{
7688
"name": "public_surface",
7789
"label": "Public surface",
78-
"layer": "public surface",
90+
"layer": "page emission layer",
7991
"cmd": [PYTHON, "scripts/check_power_posing_public_surface.py"],
8092
},
81-
{
82-
"name": "public_layer_atlas",
83-
"label": "Atlas governance",
84-
"layer": "atlas governance",
85-
"cmd": [PYTHON, "scripts/check_power_posing_public_layer_atlas.py"],
86-
"hint": "atlas governance (boundary + threshold views)",
87-
"summary_label": "atlas governance",
88-
},
8993
{
9094
"name": "page_emission_validation",
9195
"label": "Page emission",
92-
"layer": "page emission",
96+
"layer": "page emission layer",
9397
"cmd": [PYTHON, str(PAGE_GENERATOR), "--check"],
9498
},
99+
{
100+
"name": "public_layer_atlas",
101+
"label": "Public-layer orchestration boundary",
102+
"layer": "public-layer orchestration boundary",
103+
"cmd": [PYTHON, "scripts/check_power_posing_public_layer_atlas.py"],
104+
"hint": "atlas governance (boundary + threshold views)",
105+
"summary_label": "public-layer orchestration boundary",
106+
},
95107
]
96108

97109
LAYER_ORDER = [
98-
"judgment wording",
99-
"claim page",
100-
"source page",
101-
"snapshot release view",
102-
"reference surface",
103-
"public surface",
104-
"atlas governance",
105-
"page emission",
110+
"protocol consistency floor",
111+
"object-envelope floor",
112+
"judgment wording bridge",
113+
"claim page public layer",
114+
"source page public layer",
115+
"snapshot release-view layer",
116+
"page emission layer",
117+
"public-layer orchestration boundary",
106118
]
107119

108120
ATLAS_GOVERNANCE_HEADERS = {"Boundary view", "Threshold view"}
@@ -194,20 +206,25 @@ def emit_failure_focus(
194206
if not failures:
195207
return
196208

197-
governance_failures = [f for f in failures if f.get("summary_label") == "atlas governance"]
198-
other_failures = [f for f in failures if f.get("summary_label") != "atlas governance"]
209+
governance_failures = [
210+
f for f in failures if f.get("summary_label") == "public-layer orchestration boundary"
211+
]
212+
other_failures = [
213+
f for f in failures if f.get("summary_label") != "public-layer orchestration boundary"
214+
]
199215
failing_layers = [
200216
str(entry["layer"])
201217
for entry in layer_summary
202-
if str(entry["status"]) == "FAIL" and str(entry["layer"]) != "atlas governance"
218+
if str(entry["status"]) == "FAIL"
219+
and str(entry["layer"]) != "public-layer orchestration boundary"
203220
]
204221

205222
print()
206223
print("Failure focus")
207224

208225
if governance_failures:
209226
failure = governance_failures[0]
210-
line = "- atlas governance: FAIL"
227+
line = "- public-layer orchestration boundary: FAIL"
211228
hint = failure.get("hint", "")
212229
if hint:
213230
line += f" ({hint})"
@@ -273,7 +290,7 @@ def main() -> None:
273290
print(f"- failed: {len(failures)}")
274291
if governance_summary is not None:
275292
governance_status, governance_hint = governance_summary
276-
summary_line = f"- atlas governance: {governance_status}"
293+
summary_line = f"- public-layer orchestration boundary: {governance_status}"
277294
if governance_hint:
278295
summary_line += f" ({governance_hint})"
279296
print(summary_line)

0 commit comments

Comments
 (0)