Phase 3 — //go:embed all:defaults bakes the per-depth default tree into the binary; EmbeddedPolicyTree() loads it (LoadPolicyTreeFromFS, generalized to any fs.FS — embed, disk, or zip). Phase 4 — PolicyTree.Assemble() folds the flat per-depth tree into the single nested paths:-bearing ZddcFile the cascade walker already consumes, so the walker is UNCHANGED. EmbeddedDefaults() now sources from the tree via Assemble() instead of parsing defaults.zddc.yaml. Proven behavior-preserving: TestEmbeddedTreeMatchesYAML asserts Assemble(tree) deep-equals the legacy parsed defaults.zddc.yaml, and the Layer-2 matrix + full suite stay green. defaults.zddc.yaml is kept only as that test's oracle (deleted in phase 6). This same Assemble path is what an operator .zddc.zip mounted at any level will use next (phase 5). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| apps | ||
| archive | ||
| auth | ||
| cache | ||
| config | ||
| convert | ||
| fs | ||
| handler | ||
| jsonschema | ||
| listing | ||
| policy | ||
| tlsutil | ||
| zddc | ||
| zipfs | ||