docs(design): script receivers declared in project.trb #519
Loading…
Reference in a new issue
No description provided.
Delete branch "docs/script-receivers"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Design record
docs/design/SCRIPT-RECEIVERS.md(proposed), registered indocs/design/index.md. Plan only, no implementation.The mapping file -> receiver type moves from the
Sandbox.load<T>site intoproject.trb:Sandbox.load<T>calls; a load of an unmapped file is at most an info/hint (D15, "Add to project.trb"); a script with neither mapping nor inferable load is untyped and fails at most at run time.project.trbstays implicitlyProject.Sandbox.load<T>keeps its type argument.project.trb(forward-only), else infers it from loads; an unmapped script opened alone is untyped, plustorbscript/scriptReceiversand thetorbscript/wantFiles/torbscript/filescontract for hosts without a file system.Epic: #518. Slices: #512, #513, #514, #515, #516, #517.
Note: no torb build was available here, so skill docs were not regenerated (
build/release/torb docs skill docs skills).docs/design/index.mdisskill: omit, so none should be needed; CI's docs--checkgate decides.Checked at
7f99ea46: docs-only design record plus itsdocs/design/index.mdentry. CI is green on this head (pdisc, gates, tier A, bootstrap), scope matches the PR body (plan only, epic #518, slices #512-#517), no code or behavior changes, and the record is internally consistent (D1-D18 numbering, the retired D3, the optional mapping and the removal of "first load decides" agree across sections 1, 3, 5, 6, 7 and 12). One blocker, in text this public repository must not carry.docs/design/SCRIPT-RECEIVERS.md; this repo is public, and nothing onmainreferences the private forge or internal trackers):(owner, 2026-10-26), the form the other records use (e.g. CLOSED-TRAITS.md, COLLECTIONS.md).Non-blocking:
config/project.trbis probed beforeproject.trb; fine, but the list of rounds would read better as a numbered sequence. Optional.Not mergeable on
690ffce: rebase onto main (b81b31f); no other blockers. My earlier findings (private chat quote, internal issue link and host) are resolved in this head; CI is green.Rebased onto main (
b81b31f). Main had gained the earlierreceiver ... fromheader record at the same path (b3a4bcc,b81b31f); this PR is the later owner decision (2026-10-26: mapping inproject.trb, optional, no per-file header), so on the two conflicting files (docs/design/SCRIPT-RECEIVERS.md,docs/design/index.mdentry) the PR version replaces it. Content is byte-identical to the previously reviewed head690ffce;pdisc.py indexandcheckare green locally.690ffce586142293fd98Approved at
142293f(re-review after the rebase).receiver ... fromheader record at the same path and in thedocs/design/index.mdentry, matching the owner decision of 2026-10-26 (mapping inproject.trb, optional, no per-file header).Non-blocking: the two optional wording points from my first review (numbered rounds in section 8, redundancy of the section 3 sentence with section 13).