You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 5cd501b
Browse filesBrowse the repository at this point in the historyBrowse files
docs(design): the resource-construction rulings become the resource-management body; sketches retire (#592)
Phase 0 of the resource-construction plan. 4-resource-management.md absorbs the 2026-08-20 rulings as body:
new section 5, "The Catalog Travels with the Graph" -- intent-only plan-time claiming (string values mint
pending entries, promises record promises, products are runtime facts), git-model plan-space paths with the
home/system late-binding examples, rel identity with activation that never changes it, the mandatory
serialized section with hard load and pre-flight failure, and the graph-intent/trace-observation split.
Section 4 rewrites to runtime-only shadowing -- plan-time output claims and implicit same-URI edges are
superseded; ordering is the promise's job, and sections 1 and 2 now say so -- with the two-path reconciler
absorbed from the catalog-reconciler sketch as 4.1. Appendix A is deleted as rejected, recorded in the
resolved decisions alongside the four new rulings.
4.1-resource-identity.md amends the file scheme: catalog identity is the slash-canonical root-relative path;
the RFC 8089 absolute form survives only as the rendered form against a bound root; the buildURI sketch
follows. 3.6 gains the dispatch-convergence law distilled from the stack-comparison sketches, in current
names -- their line-level stacks described a shape that no longer exists. The package-signatures sketch
relocates verbatim to 7-registry-knowledge as LorePackaging material. The transport plan's step 3 is
annotated: the reference-entry exclusion is withdrawn; the content transport it landed is unchanged. Four
stale cross-references to pre-rewrite section numbers are corrected in passing.
All five sketches retire: mined, integrated, deleted. The status companion records that the DESIGN now leads
the TREE -- the two red judgment pins measure the gap until #583-#586 land.
Closes#582. Refs #581, #444.
Co-authored-by: David Noble <[email protected]>
|`file`|Opaque (catalog identity) / Hierarchical (rendered) | catalog: `file:etc/foo` — the slash-canonical **root-relative** path; rendered against a bound root: `file:///etc/foo`|**Amended 2026-08-20** ([resource-construction](../plans/resource-construction.md)): catalog identity is the rel — the fsroot is a run parameter, so no volume, home layout, or separator variance enters identity; a plan-authored leading slash anchors at the fsroot (git model) and normalizes away. The [RFC 8089](https://datatracker.ietf.org/doc/html/rfc8089) absolute form survives only as the *display/rendered* form once a run binds the root. |
183
183
|`pkg`| Opaque |`pkg:brew/jq`, `pkg:deb/curl`, `pkg:winget/Microsoft/VSCode`|[purl](https://github.com/package-url/purl-spec)-compliant, **versionless** — the catalog URI omits `@version` (version is state, see [§3.4](3.4-platform-package-managers.md)). `Purl()` may append the requested `@version` for display, so `URI()`/`Purl()` converge only on the versionless coordinates. |
184
184
|`svc`| Opaque |`svc:nginx`, `svc:postgresql`| Service name. Fragment reserved for future instance disambiguation (e.g., `svc:postgresql#port-5433`). |
185
185
|`appnet`| Opaque |`appnet:https%3A//example.com/path`| Wraps an inner URI with targeted escaping (`#` and `?` escaped). Renamed from `net`. |
@@ -207,9 +207,11 @@ calls. Each type builds its URI from its own fields using whatever
0 commit comments