Skip to content

Commit d27173f

Browse files
authored
Merge pull request #21 from CentralInfraCore/docs/certpattern-occurrence-count
docs: correct the CertPattern occurrence count
2 parents 73ae469 + 9d05bed commit d27173f

2 files changed

Lines changed: 8 additions & 6 deletions

File tree

‎proposals/atom-grammar/P0-4-MIGRATION.md‎

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -39,10 +39,12 @@ accept legacy scalars, so a half-migrated document fails loudly.
3939
then the library keeps reading grammar 1.
4040
2. `cic-primitive-engine` needs the same pin change; its Normalize stage can use the symbolic
4141
defaults of section 1 unchanged.
42-
3. **`cic-schema-registry` has a real defect this work exposed** (matrix F2): nine current
43-
schemas (34 occurrences including versioned ones) write `modify: [OU=adapters, O=cic]`, which
44-
YAML parses as two patterns in OR. Any certificate with `O=cic` would match, not only
45-
adapters. The intended value is the single pattern `"OU=adapters,O=cic"`. That repository
46-
is outside this PR; it needs its own fix.
42+
3. **`cic-schema-registry` had a real defect this work exposed** (matrix F2). Originally 33
43+
files (one occurrence each: the nine current schemas and 24 frozen released versions) wrote
44+
`modify: [OU=adapters, O=cic]`, which YAML parses as two patterns in OR, so any certificate
45+
with `O=cic` would match, not only adapters. The intended value is the single pattern
46+
`"OU=adapters,O=cic"`. The nine current schemas are fixed since cic-schema-registry#162, which
47+
also adds a lint for ambiguous CertPattern flow lists; the 24 frozen released versions are
48+
unchanged (a correction needs a new release, decided separately).
4749
4. No `PolicySurface` runtime exists in `cic-relay` today; the resolution here is the contract
4850
for it, not a change to it.

‎proposals/atom-grammar/p0-4-contradiction-matrix.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ korpuszbizonyíték**. Bármely döntés tervezési döntés, nem mért szabály
3838
## Findings beyond the #17 text
3939

4040
- **F1 — more type-foreign defaults.** `default_access: open` and `default_modify: owner` are symbols in `CertPattern[]`-typed slots, the same pattern as `access: inherit` in a `list<CertPattern>` key (row 10). Neither #17 nor ADR 0004 listed them. `surface_rules` default is the word `empty`, not a list.
41-
- **F2 — flow-list pattern split (security-relevant).** `modify: [OU=adapters, O=cic]` parses as two OR patterns (`['OU=adapters', 'O=cic']`), while `access.yaml` defines `"OU=adapters,O=cic"` as one AND pattern. Nine current `cic-schema-registry` schemas (34 occurrences with versioned ones) write the unquoted form, so any `O=cic` certificate would match the state-surface write rule. Covered by `resolution.pattern-or-across-list` and `resolution.pattern-and-within-pattern`.
41+
- **F2 — flow-list pattern split (security-relevant).** `modify: [OU=adapters, O=cic]` parses as two OR patterns (`['OU=adapters', 'O=cic']`), while `access.yaml` defines `"OU=adapters,O=cic"` as one AND pattern. Originally 33 `cic-schema-registry` files (one occurrence each: nine current schemas and 24 frozen released versions) wrote the unquoted form, so any `O=cic` certificate would match the state-surface write rule. The nine current schemas are fixed since cic-schema-registry#162; the 24 frozen released versions are unchanged. Covered by `resolution.pattern-or-across-list` and `resolution.pattern-and-within-pattern`.
4242
- **F3 — the corpus cannot ground `false` versus `0`.** No field-level `inherit` key and no `inherit_policy` other than `true` exists (33 versioned, 9 current). The semantics in the spec are a design, decided by vectors, not a measurement.
4343
- **F4 — contradictory open default.** `policy-surface.yaml` said "no PolicySurface: every field is accessible" while its own `default_modify` is `owner`. The spec narrows the sentence: read open (authenticated), write needs a trusted owner.
4444
- **Archived SPEC §6.4** uses a per-operation `read`/`modify` structure with its own `inherit`; it is not the six-field Access and its inheritance was explicitly left unresolved (INV-037). Not adopted.

0 commit comments

Comments
 (0)