Inference without Authority: the three authorities that govern an output
Description
Every program produces output, and it is taken for granted that the code deciding what to emit also decides where it goes — to a database, a log, a topic, a screen. This paper argues that these are distinct authorities, and that a program speaking both with one voice has fused decisions belonging to different competences. Separating them reveals a third: what an output is — its projection — is no more the domain's to shape than where it lands is the producer's to name. An output is governed by three authorities — the domain, which knows what exists; the actor, which knows what becomes observable; and the assembler, which knows where observation occurs.
Their collapse has a signature. When one authority is made to pronounce another's decision, it must reach a conclusion it has no standing to reach — an assertion beyond its warrant. This unwarranted assertion is the sibling, one level in, of the infrastructural symptom the series treats elsewhere: it compensates for an authority that is absent and dissolves when that authority is restored. The symptom appears at both ends of an output — a producer denied a voice for the destination commits to a where it cannot know; an observer given only snapshots infers a how it was never told — one defect, absent information, met once by stipulation and once by inference. Restoring the authorities dissolves both: the destination gains its own voice, and the record reaches the observer as an account it is told rather than one it must reconstruct. The observer comes to know by testimony, not by inference — within a trust boundary. Where the producer sits across one, as it does for anything leaving its own trust domain, testimony must be verified rather than simply believed; that boundary the paper marks as the bound of its scope, not a caveat to its result.
A journaled actor system serves as a worked instantiation in which the three authorities are kept apart — a demonstration that the separation is buildable, not a measurement of its cost or benefit. The contribution is analytic — a theory for analyzing in the sense of Gregor's (2006, Type I): a criterion by which any architecture may be read, sound not by how it divides code, but by whether the authorities within it match the decisions each part has the standing to make. The labs are an existence proof of realizability, not a design-science evaluation of cost or benefit.
Series information (English)
This is Paper 8 of the Puppeteer Papers, a cumulative series on journaled-program (actor-native) architecture. Each paper names one structural property and the condition under which a familiar complication dissolves; they are self-deposited preprints, read in order.
- Paper 1 — Anti-porosity: the representational-sparsity defect and when it is rejected.
- Paper 2 — Program–value separability: the property behind compilation, caching, and dense journaling.
- Paper 3 — Reactions and the partition: the now/deferred split, and opt-in eventual consistency as a consequence.
- Paper 4 — Cross-actor continuity: causation carried programmatically by tell, without orchestration.
- Paper 5 — The journal as substrate: deployment, replication, backup, and offline operation as one condition.
- Paper 6 — Infrastructural symptom: diagnosing a layer as compensation for the persistence model.
- Paper 7 — After the substrate: the datacenter as a contingent, not structural, requirement.
- Paper 8 (this paper) — Inference without Authority: an output governed by three authorities (domain / actor / assembler), and the unwarranted assertion their collapse leaves at each end.
Technical info (English)
Source-code references resolve against the public Puppeteer runtime at commit 0bf947b (), archived in Software Heritage: swh:1:rev:0bf947bd6563e34cb141e3b5ba6cd13b4a811023 and swh:1:dir:4cce51c877c0836f5a561ce2d25bca9f7800ee71 (origin ). Four laboratories on the running framework exhibit the separation (Appendix A); their source and datasets accompany this deposit as paper08-data.zip. The labs are count-based — the zeros are the claim (0 producer edits per destination; 0 new domain methods for three views; 0 domain methods for the delivery direction; 0 test doubles for a domain output test). Lab A's real-backend case runs against SQL Server and MySQL (Docker).
Files
08-inference-without-authority.md
Additional details
Related works
- Cites
- Preprint: 10.5281/zenodo.21207062 (DOI)
- Preprint: 10.5281/zenodo.21349146 (DOI)
- Preprint: 10.5281/zenodo.20317450 (DOI)
- Is supplemented by
- Software: https://github.com/alvaroNCubo/puppeteer-papers (URL)
- References
- Software: https://github.com/alvaroNCubo/puppeteer/tree/0bf947bd6563e34cb141e3b5ba6cd13b4a811023 (URL)
Software
- Repository URL
- https://github.com/alvaroNCubo/puppeteer
- Programming language
- C#
- Development Status
- Active