Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
52 changes: 52 additions & 0 deletions core/claims/DDD-address-01.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
format: 1
id: DDD-address-01
kind: conceptual
statement: |
Act occurrences carry a time index beside their address, given by causal dependency — occurrence B depends on occurrence A iff a state change produced by A is in B's ground reading — so that the index is the resulting order over state changes rather than wall-clock, dependent occurrences at one address are distinct in time, and independent ones may be concurrent.
status: projected
region: |
Diachronic — orders occurrences across acts, so it files with the projection (DDD-dec-09's
charter). Presupposes upstream DDD-ground-06 (pinned at the release that carries it). The
index is kept out of the address because an address containing time would make every
occurrence unique and leave nothing to recur at, dissolving behaviour (pre-registration
criterion K5). Dependency is read off ground readings, so it inherits their declared-space
limit (DDD-ground-05, DDD-ground-02): a state change that reaches B through ground nobody
declared does not order B after A.
evidence:
- kind: observation
ref: "meta/sessions/2026-09-27-act-address/results-act-address-dry-run.md — T2a"
note: |
Dry run: retry attempts 1 to 3 of one call share an address and are ordered by dependency
alone — each depends on the previous one failing. Read under the amended definition, the
previous attempt's failure is in each attempt's ground reading; the dry run predates the
amendment and did not record readings. Written inside the framework; instrument check, not
evidence for the claim.
falsifier: |
Two dependent occurrences whose order cannot be recovered from the state changes in their ground readings, or a behaviour-change detection that needs a wall-clock distinction the causal order cannot supply.
test: |
T2b (first Phoenix slice): at least two dependent occurrences share an address and are separated only by the time index, per the fixed pre-registration.
breaks: |
Invalidation fan-out as a forward query (the acts after a superseded decision in causal order), and as-of decay's anchor at the act.
owner: none
changed: 2026-09-28, act address landing session (GATE 3, on the GATE 1 rulings)
notes: |
Emil originated the extension ("address plus distance in time makes a real map"); ruled R-4,
2026-09-27. The causal form, and keeping the index outside the address, were Claude's
proposals, accepted in the ruling.

Amended at the landing session's GATE 1 (Emil, ruling 1, 2026-09-28). The draft left
"dependency" undefined. It is now defined over ground readings: B depends on A iff a state
change produced by A is in B's ground reading, and the time index is the resulting order over
state changes. This is the same line upstream DDD-ground-06's repaired falsifier draws, so the
address, the ground readings and the time index are read from one record.
UNVERIFIED — Emil review: the reading/verdict-input line — that a dependency always passes
through a ground reading and never through a verdict alone. Verdict-triggered decisions
(escalation rules) are the pressure case, carried as a T2b test item: they anchor at the
following act, whose reading contains the verdict (GATE 2 ruling).

Rule 1 candidate, adjudicated: kept joined (GATE 1 ruling 4). The definition of dependency and
the index it induces are one object; the "so that" clauses are consequences.

UNVERIFIED — Emil review: that this does not conflict with ground-axes holding note rev 18's
argument that time is weak as a coordinate. That argument concerns the age of ground
readings; this claim concerns an act's position in dependency order.
23 changes: 23 additions & 0 deletions core/claims/DDD-address-02.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
format: 1
id: DDD-address-02
kind: normative
statement: |
Every act occurrence is its own act, and reuse of code across occurrences is a derivation-layer relation — many occurrences pulling one component — never an identity between acts.
status: projected
region: |
Diachronic — relates occurrences across acts. Governs the act map (a tree of occurrences) and
places reuse in the derivation record, consistent with forward-only derivation: acts pull
components, and components never define acts.
evidence: []
falsifier: |
A governance question answerable only by treating a reused component as a single act — a case where the occurrence map, with reuse in the derivation layer, cannot state what the identity reading states.
test: |
Counterexample search in T2b: every reused component in the first Phoenix slice is represented as derivation edges from distinct occurrences without loss of any governing decision.
breaks: |
DDD-address-03 and the forward fan-out query; the method's refusal to read acts back from code.
owner: none
changed: 2026-09-28, act address landing session (GATE 3, on the GATE 1 rulings)
notes: |
Emil's ruling R-6, 2026-09-27, in his words: "our choice to reuse the same act in the code is an
optimization not the truth." Filed as a normative claim: it is a governing choice about
representation, and its test is utility.
29 changes: 29 additions & 0 deletions core/claims/DDD-address-03.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
format: 1
id: DDD-address-03
kind: empirical
statement: |
A change to a component pulled by several act occurrences is an escaped decision at every pulling occurrence that the changing decision's applicability predicate does not cover.
status: projected
region: |
Diachronic, over the derivation record. Where occurrences replicate a decision instead of
sharing a component, the fan-out is the decision's predicate match set, not a component's pullers
(dry-run finding F-3, accepted as [PROPOSED] at the landing session's GATE 1). Only the
component case is claimed here.
evidence: []
falsifier: |
Derivation records in which off-predicate pulling occurrences of changed components show no more behaviour change or incident than occurrences that did not pull the component.
test: |
Phoenix: compute each component change's off-predicate fan-out forward from the derivation record, and compare behaviour change at those occurrences against a matched non-pulling set.
breaks: |
The rationale for showing a component's fan-out to the person changing it before the change, and the pricing of reuse as seam risk.
owner: none
changed: 2026-09-28, act address landing session (GATE 3, on the GATE 1 rulings)
notes: |
Emil's observation, 2026-09-27: one act often demands a change to a single function, incurring
sudden changes in hundreds of others. The seam reading is Claude's, flagged: a component shared
by k occurrences is a seam spanning k, decaying at the conjunction of k persistence
probabilities. UNVERIFIED — the seam-decay result has no canonical home: the landing session's
GATE 1 survey found no claim, term, core document or meta note stating it in either repository
at 361e88f / cba63ef. Filed with the reliance carried as a successor item (GATE 1 ruling 6).
Only the notes and the "pricing of reuse as seam risk" limb of breaks lean on it; the statement
does not. No other claim is cited as support for it.
23 changes: 23 additions & 0 deletions core/claims/DDD-address-04.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
format: 1
id: DDD-address-04
kind: conceptual
statement: |
Two act occurrences coincide when their ground positions are equal, whatever their layer paths.
status: projected
region: |
Diachronic — compares occurrences. Needed because the layer path is part of the address
(DDD-ground-06), so occurrences under different parents never share a full address.
evidence: []
falsifier: |
Two occurrences at one ground position under different parents whose comparison misleads — behaviour that differs only because the parents impose different tolerance, read as a ground shift.
test: |
T2b: every cross-parent coincidence in the first Phoenix slice is checked for inherited-tolerance differences (dry-run finding F-2).
breaks: |
DDD-address-05's cross-parent grain.
owner: none
changed: 2026-09-28, act address landing session (GATE 3, on the GATE 1 rulings)
notes: |
Ruled R-7, 2026-09-27, on Claude's proposal. The falsifier names the known risk: dry-run finding
F-2, that the layer carries inherited tolerance, so cross-parent coincidence may compare unlike
acts. F-2 is held, not accepted (landing session GATE 1 ruling 7), and its latency figure is
struck; the test checks for the risk rather than presupposing it.
25 changes: 25 additions & 0 deletions core/claims/DDD-address-05.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
format: 1
id: DDD-address-05
kind: conceptual
statement: |
Behaviour is read at two grains: at full address within one parent, and at ground position across parents.
status: projected
region: |
Diachronic. Depends on a registered behaviour term, which the Gate 0 bundle queues; until that
term lands, "behaviour" here carries the working definition (recurring acts at one address
under the same relative ground) and nothing more.
evidence: []
falsifier: |
A shared-component change that alters behaviour across parents but is invisible at both grains, or a grain that adds no detection over the other on the Phoenix record.
test: |
Phoenix: component changes are detected at the ground-position grain as simultaneous behaviour change across parents.
breaks: |
Behaviour change as the detection channel for DDD-address-03's escapes.
owner: none
changed: 2026-09-28, act address landing session (GATE 3, on the GATE 1 rulings)
notes: |
Ruled R-7, 2026-09-27. Filed with the dependency named (landing session GATE 1 ruling 5): the
Gate 0 behaviour bundle had not been filed in either repository at 361e88f / cba63ef, and no
behaviour term is registered. "Behaviour" here carries only the working definition in region;
"relative ground" is likewise unregistered. When the behaviour term lands, this claim is
checked against it (successor item).
69 changes: 69 additions & 0 deletions core/decisions/DDD-dec-38.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
format: 1
id: DDD-dec-38
kind: decision
statement: |
The projection files the act address ruling's diachronic companions — the causal time index, occurrence uniqueness, shared-component escape, the coincidence grain and the two behaviour grains (DDD-address-01 to 05) — as projected claims resting on upstream DDD-ground-06, and advances the upstream pin to the release that carries it, with DDD-ground-06, term:act-address and DDD-ground-01 pinned.
principal: Emil
made: 2026-09-27, act address session; filed 2026-09-28 at the act address landing session (GATE 3, on the GATE 1 and GATE 2 rulings); the advance completed at GATE 4, 2026-09-28, against v5.15.1 on the GATE 3 ruling
resolution: |
Final. The GATE 4 sequence completed as ruled. Upstream PR #24 was accepted (merge 13128a7,
tagged v5.15.0), but it merged one commit behind the GATE 2 fix. The fix shipped as v5.15.1
(PR #25, merge 1cb3819, ratified head 7266306 merged exactly). The ref was bumped from the
staged branch to v5.15.1, not v5.15.0, on Emil's GATE 3 ruling. That change of target is a
recorded deviation (meta/sessions/2026-09-27-act-address-landing/gate4-target-deviation.md,
committed before the bump). The firing did not deviate: ref first, hashes second, it showed
74 pins, 0 E12/E13/W5, exactly one W6 (DDD-frame-08, cf73b307… -> ef5d5faf…, both digests as
predicted) and W7 1. After re-instrumentation it showed 74 pins with 0 drift. The downstream
PR stands for Emil's acceptance.

The upstream ruling is DDD-dec-37. This decision records the downstream half. The address
itself is synchronic and lives upstream. Everything that compares or orders occurrences
persists between acts and lives here, per DDD-dec-09 and meta/repo-topology.md, the same split
the seam took.

## What files

- DDD-address-01 — the causal time index, amended at GATE 1 (ruling 1): B depends on A iff a
state change produced by A is in B's ground reading; the index is the resulting order over
state changes. The reading/verdict-input line is flagged UNVERIFIED — Emil review.
- DDD-address-02 — every occurrence is its own act; reuse is a derivation relation.
- DDD-address-03 — shared-component escape. The seam-decay reading in its notes has no
canonical home and is carried as a successor item (ruling 6).
- DDD-address-04 — coincidence on ground position. Its known risk is dry-run finding F-2,
which is held (ruling 7).
- DDD-address-05 — the two behaviour grains, filed with the unregistered behaviour term named
as a dependency (ruling 5).

DDD-address-01 and DDD-ground-06 were kept joined under rule 1 (ruling 4).

## The pin advance

Staged against the upstream landing branch and bumped to the tag only on Emil's acceptance of
the upstream PR, per the DDD-dec-10/16/18/25/28 pattern. The predicted firing was committed
before the ref moved (meta/sessions/2026-09-27-act-address-landing/gate3-prediction.md). The
advance runs from v5.13.0, so it crosses v5.14.0 and v5.14.1 as well: it carries v5.14.0's
published W6 on DDD-frame-08, and nothing else from the existing pins.

Three pins are added. DDD-ground-06 and term:act-address are the basis of the five claims and
do not exist before the release that carries them, so they could not be pinned earlier.
DDD-ground-01 is this decision's basis and was not pinned: a basis cited without a pin can move
silently (DDD-agent-01). DDD-dec-37 is not pinned, because the checker indexes upstream claims
and terms, not decisions.

## Rulings on the dry run (GATE 1, ruling 7)

E-1 is accepted as a correction record. F-3 is accepted as [PROPOSED]. The T2a act map is
accepted, with a1's gateway axis recorded as not read. F-1 is held as a T2b test item: an act
that never reads an axis a governing predicate uses. F-2 is held and its 14 s figure is struck.
The session record lands exactly as bundled; the rulings live in the landing session's
gate1-rulings.md, not in the record they rule on.
basedOn:
- DDD-ground-06
- DDD-dec-37
- DDD-ground-01
notes: |
New claim area `address`. Areas are cheap and renumbering is forbidden (spec/claim-format.md
§3). The area name was confirmed free at the landing session's GATE 1.

Phoenix is the code name of the first independent application case. It is named here and in
the claims' tests. Upstream names the case neutrally (GATE 1 ruling 2).
33 changes: 31 additions & 2 deletions graph/upstream.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,23 @@ upstream:
# none removed. The same session's branch-only supersession of DDD-frame-08 (GATE 1 ruling C)
# was predicted to contribute nothing to this advance — the tag does not carry it — and
# contributed nothing; its firing belongs to the next advance.
ref: v5.13.0 # tag, never a branch
# Advanced v5.13.0 -> v5.15.1 at the act address landing session (2026-09-28), on Emil's
# acceptance of upstream PR #24 (merge 13128a7, tagged v5.15.0) and PR #25 (merge 1cb3819,
# tagged v5.15.1); the advance is DDD-dec-38 here, DDD-dec-37 upstream. Staged against the
# landing branch per the DDD-dec-10/16/18/25/28 pattern, then bumped to the tag. DEVIATION,
# recorded before the bump at meta/sessions/2026-09-27-act-address-landing/
# gate4-target-deviation.md: the prediction (gate3-prediction.md, committed at ef0d444 before
# the ref first moved) targeted v5.15.0; v5.15.0 was cut from e484ca5 without the GATE 2 fix
# cc0abf8, which ships as v5.15.1, and Emil ruled the pin names v5.15.1. Notes and i18n only
# separate the two, so the restated prediction is identical: E12 0 - E13 0 - W5 0 - W6
# exactly 1 (DDD-frame-08, cf73b307... -> ef5d5faf..., v5.14.0's published prediction) - W7 1,
# unchanged. Three pins added: DDD-ground-06, term:act-address, DDD-ground-01.
# Verified at the bump, ref advanced first and hashes re-instrumented second so the firing was
# observed rather than assumed: 74 pins resolved, 0 basis-loss, EXACTLY ONE content-drift —
# DDD-frame-08, both digests as written down beforehand — 1 shadowed id. The prediction held
# in every limb. After re-instrumenting DDD-frame-08: 74 pins, 0 basis-loss, 0 content-drift,
# 1 shadowed id.
ref: v5.15.1 # tag, never a branch
pins:
# basis claims for DDD-dec-04 (the split decision itself rests on these)
- id: DDD-frame-01
Expand Down Expand Up @@ -282,7 +298,7 @@ upstream:
# stated without a citation; the citation is the fix). Same ref (v5.7.0), no advance.
- id: DDD-frame-08
status_at_pin: projected
content_hash: sha256:cf73b307ede964603c2eb36863f4a4b7874894350e05ae467b300fcf54aa3590
content_hash: sha256:ef5d5fafedb588994141c8f4df504c7589ab3ea7b5257f3ea97f37ba3db07ff7
- id: term:acceptance-predicate
status_at_pin: settled
content_hash: sha256:a3aaae2e710ffb955b30e2e4b0f8371b72c1ada7816ac698dab5e2310ee29e78
Expand Down Expand Up @@ -357,3 +373,16 @@ upstream:
- id: DDD-measure-17
status_at_pin: projected
content_hash: sha256:164a18072145bc4a0cdb3c6e1ca8890fc64c1b36396c73be5ca8bd45c66114e5
# [PROPOSED] Act address landing (2026-09-28, DDD-dec-38), staged with the v5.15.0 advance.
# DDD-ground-06 and term:act-address are the basis of DDD-address-01..05; they do not exist
# before v5.15.0, so pinning them earlier would fire E12. DDD-ground-01 is DDD-dec-38's
# basis and was unpinned (DDD-agent-01). Hashes taken at upstream cc0abf8.
- id: DDD-ground-06
status_at_pin: projected
content_hash: sha256:87a6adab30551a4f464cdc1020ae0155f22d6a86d3baac30917894a1cb3b6609
- id: term:act-address
status_at_pin: draft
content_hash: sha256:d66ddee2ca634dc8ab84d96798b5ca0af36403551c826fb3affd86758f1df00c
- id: DDD-ground-01
status_at_pin: projected
content_hash: sha256:eb4679f9878a220b8a4c39e785b1d3cd9f6ad7eb717a02d1eff6ff97ef359d93
21 changes: 21 additions & 0 deletions meta/sessions/2026-09-27-act-address-landing/bootstrap.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Bootstrap — act address landing

Filled in at arrival and committed with `prompt.md` as the session's first commit.

| Parameter | Value |
|---|---|
| Invocation | The contents of `prompt.md`, given verbatim with the bundle attached as `act-address-bundle.zip` |
| Principal | Emil (sole ratifier) |
| Bundle path | Unpacked in the session scratchpad as `act-address-bundle/`; outside both repositories |
| Upstream repo | github.com/mindovermachine-dev/actor-indexed-determination |
| Upstream base | `361e88f` — head of `main` at arrival; tag `v5.14.1` verified to point at it. No drift from the drafts' base |
| Downstream repo | github.com/mindovermachine-dev/decision-driven-design |
| Downstream base | `cba63ef` — head of `main` at arrival. No drift from the drafts' base |
| Branch, both repos | `claude/act-address-landing-bla6io` (the harness-assigned branch; the bundled template named `claude/act-address-landing`) |
| Gates | 0 arrival · 1 survey · 2 upstream · 3 downstream · 4 close |
| Pre-registration hash | `ef34e3bc14ab793800edd8c096e82adf0652ef8bc284d54d52efd20f8bf5f5eb` — verified against the bundled `prereg-act-coordinates.md` at arrival |

## Deviations from the bundled template, recorded at arrival

- **Directory name.** `LANDING-DATE` resolved to `2026-09-27`, the arrival date. The landing therefore shares its date with the session it lands (`2026-09-27-act-address/`); the slugs differ.
- **Branch name.** The session runs on the branch the harness assigned, which carries a suffix. The bundled template's unsuffixed name was not created.
Loading
Loading