# De-scaffolded heterogeneous development V1 — locally frozen exploratory protocol

Question: Can one fixed, compact local developmental program choose cell roles, storage assignments, and legal connections on a role-unlabelled 3D substrate, producing working heterogeneous memory/routing systems across unseen layouts, physical sizes, and logical capacities?

The preceding context-to-dynamics report was retrieved from completed local artifacts after direct web retrieval and DNS access failed. It reported D=B=100%, identical executable circuit hashes and execution resources, and identical intervention effects in supplied guide corridors carrying roles/materials/address information. Its RULE descriptor was prose; its Python constructor was executable. Timing failures were lost exact-tick rendezvous, with correct emitted signs. This study removes that interior blueprint and uses a new task/runtime version. Earlier milestones and the separate primary workstream are untouched.

## Supplied host, boundary information and distribution

Host candidates are the independently defined six-neighbor cubic lattice, L in {4,6}, with up to 216 computational sites. Position jitter is uniform in each coordinate in [-.08,.08], rounded to six decimals, before edge delays ceil(Euclidean distance). Delays are strictly positive and at most two ticks at unit speed. Boundary sites remain; each interior site is independently unavailable with p in {0,.15}. A constructor-independent shuffled boundary list attaches query, response and K write terminals to distinct sites, in that order. Write identities and the command schema are public boundary meanings. Terminals have a one-tick local external link, no stored signs, no query processing and no hidden memory. Hosts contain only positions, legal undirected bonds/delays, unavailable positions, and terminal attachments. There are no internal roles, addresses, selected routes, gradients or compensation tables. Opaque node labels are independently shuffled and never parsed by constructors.

Accept the first of at most 16 candidates whose terminal attachments share a connected component. This is independent of D/B success; retain every rejection and the accepted conditional distribution. Boundary preservation makes terminal connectivity easy in this lattice family. An exhausted admissibility sequence stops the matrix, leaving its unexecuted cases unobserved. D/B receive the same host and external history. config.json and the explicit SHA256 seed calls disclose coupling across L,K,p. Interior obstacle generation/scored seeds are never used for development.

## D program, scheduler, B and supplied primitives

The genome is exactly program.py: local_update plus RESPONSE_TAG=8. It has no imports, host/evaluator/clock handle, global planner or alternate graph access. Starting from one uncommitted seed at the query attachment, a first grow message occupies its target. Each newborn calls the rule with its own state, attached boundary cues, adjacent permitted handles/delays, and one delivered message. The rule sends grow offers through all adjacent bonds except its parent. Delivery conflicts retain first arrival; losing offers are charged. No vacant candidate is an existing computational cell. Discovery is distributed physical-delay flooding; no free field is supplied. Each write boundary cues the rule to assign that grown cell a distinct scalar latch/address. Response identity is separately propagated. Registrations follow parents toward the root, installing descendant next hops locally. At transport quiescence, a generic scheduler supplies a quiet notification; the rule differentiates root to interface, write attachments to latches, terminal-bearing other cells to routers, and discards unused exploratory cells. The scheduler serializes emitted compile actions and selected route edges. It does not select roles, plan paths, repair topology, or expose global fields to the rule. Quiescence is a construction-only global stopping convenience, disclosed rather than claimed strictly asynchronous termination. All temporary occupied cells, rejected offers, registration hops/state and pruned work are counted. Final occupied and active cells coincide; peak occupied, candidates and unused sites are reported separately.

B independently sees the whole host, runs weighted Dijkstra from the query attachment, and forms shared shortest tree paths to write and response attachments. It greedily places a distinct scalar latch as close as possible to the query along each write path, excluding root, response, previous latches and other write attachments. The write path reaches that latch; requests/read values travel between root and latch; responses follow the root-to-response path. It never consumes D's output or answers queries outside its circuit. Count neighbor scans, heap pushes/pops and path/route visits, without equating that heterogeneous work to developmental messages. Both algorithms are fixed across L,K,p, with no held-out branches. Complete global validation only rejects, never repairs.

The common runtime supplies bounded stateless forwarding with explicit per-address next hops, a scalar signed latch with one address, and a one-slot query control/value interface. A latch commits a matching write or emits its own current sign on a matching request; other traffic follows explicit routes. Each address has its own independently variable sign. The interface retains a bounded transaction ID/address until a matching value arrives, then emits a single answer toward the passive response terminal. It neither stores the bank nor calculates targets. These are task-specific hand-authored primitives; they are not learned or discovered. Routes are persistent state and are counted, with no sign table hidden inside them. B and D can use the same primitives and deployment bounds.

## Transport, buffering, reset and physical feasibility

Messages contain type (3 bits), transaction ID (6 bits, 0..63), address (3 bits, 0..7), and sign (2 bits), charged as a padded four-byte payload. In-flight records additionally carry source/destination handles, delivery tick and insertion sequence, charged as sixteen bytes in the finite queue. Tick/sequence are 32-bit accounting fields. The queue delivers by (tick,destination,source,sequence). Each message is processed atomically: commit a matching write, fill/clear the single interface slot, or schedule a strictly delayed next hop. Sequential external transactions ensure committed writes precede later reads. The interface slot holds one ID/address and flags, reserved four bytes. No associative join, global task bank, evaluator clock, free distance map or future-event table exists in either circuit. External responses are drained from a finite 16-record output buffer after each transaction and are evidence outside execution. Runtime counters, clock, sequence, queue, latch signs, interface and output buffer are included in complete mutable-state trajectory replay and sampled serialized state size.

Any simple local path has at most 215 bonds of at most two ticks. Query injection, request-to-latch, value-to-interface, interface-to-response and output therefore fit 1+3*215*2+1=1292 ticks. Writes settle within 1+215*2 ticks. This bound uses only the allowed host envelope, not either constructor's achieved latency. Common response window is ticks 1..1292 inclusive; transaction gaps are 1294..1394 ticks. No exact-tick coincidence is required. Four 64-event episodes begin from a reset empty queue, zeroed independent latches and empty interface. Episode clock must remain below 100000. Local delays and detours change actual path costs and latency even at ceiling accuracy.

## External task, observations, replay and denominators

Task is signed-last-write-select-settled-v2. First K events initialize each address with a shuffled balanced sign bank; random overwrite signs and addresses follow, with irregular retention intervals and at least 32 queries per 64-event episode. Random event/address/sign/gap uniforms are coupled across settings; K changes initialization length and normalized addresses. A separately imported external oracle traverses only the external history. No target enters construction/runtime. Require exactly one correct response within the fixed physical window. Missing, incorrect, duplicate and late flags are overlapping explicit categories. Any construction/resource failure scores all its scheduled ordinary queries and selected pairs zero; retain actual emitted responses and incurred costs. Unexecuted cases are unobserved, not failures.

Both arms serialize their complete generated system and initial state, instantiate it in a new Runtime without development history, replay each ordinary episode with identical inputs, and require identical outputs and mutable-state trajectories at injection, every delivery/commit and settlement. Idle ticks only advance the deterministic clock. Compare all integer state exactly, including buffers/counters/sequence. Compiled replay is a common semantic gate, not a third competitor. It cannot support construction-history benefits for identical systems.

Four selected opposite-answer pairs per case each settle a fresh shuffled balanced bank, clone the complete settled state including clock/queue/interface/counters, and query the first positive and first negative addresses at the same clock. Each clone receives the same bounded ID. Report individual accuracy and both-correct fraction separately. These selected dependent observations and four episodes are not independent replications.

Matrix is 12 fresh outer groups x eight settings x two constructors =192 cases. Reference is L4/K4/p0. L6 and K8 never inform scored constructor development. Mean the seven held-out case indicators within each group, then mean equally across twelve groups for D, B and paired difference. Publish all twelve values and fixed-K4 strata separately. No powered equivalence claim, arbitrary margin, or universal zero uncertainty follows from ceiling differences. Failure counts/unconditional query scores remain beside the binary endpoint. Conditional resource comparisons require both cases successful and display unconditional coverage; failures keep costs. Distinguish program-controlled construction, transfer, and comparative utility. No no-learning result implies emergent intelligence, algorithm discovery, learned specialization, 3D necessity, unique developmental advantage, or universal developmental failure.

## Fixtures, freeze, budgets and stopping

Tiny explicit branching and manually obstructed lattice fixtures establish memory, address selection, independent values, overwrite/reset, one-slot buffering, live-state clone, exact JSON compiled replay, competent B, alternate routes with a detour, opaque relabel plus reversed host records, and evaluator sensitivity to erasure, blindness, disconnected transport, duplicate and late output. L4/K4/p0 from a separate development namespace is the sole in-range generator fixture. Abstract detours are therefore known concepts. No extra test platform, training, optimization, learned state or infrastructure is built. Fixture bugs may be corrected before freeze with retained attempts/change notes.

Manifest freeze.json binds all executable code, program/constants, scheduling/primitive semantics, generator, admissibility, task/oracle, exact config/seeds/order, caps, scoring, stopping and analysis before scored outcomes. It is a local exploratory freeze, not public preregistration. No scored changes, extra arms, seeds, hand-selection, or deadline revision. Runtime/oracle, hidden-role/global D planning, reset or replay defects after freeze stop scientific comparison and preserve the attempt. Completed/active/stopped status forbids another full run in this study. An interrupted matrix reports partial observed results with no completed primary endpoint.

One standard-library numerical CPU worker; no extra agent, GPU, model inference, service or installation. Ceilings: 3600 CPU s, 5400 executed-job wall s, 1 GiB tree RSS, 128 MiB retained new artifacts. Prior costs remain separate and conservatively carried against shared ceilings. Job bounds are 600 s full, 120 s other modes; two-second constructors. CAP/config explicitly bind 216 cells, 540 selected edges, 1024 developmental ticks, 4096/65536 developmental messages/bytes, 2048 development queue records, 2048 serialized local developmental bytes, 1 MiB deployed serialization, 1024 messages/transaction, 512 sixteen-byte task queue records, 16 incoming records/cell, one four-byte interface slot, finite output buffer and 100000 episode ticks. RSS watchdog samples every 100 ms and is not an instantaneous hard RSS guarantee. Whole interpreter/measurement overhead is covered by sampled RSS and job CPU. Peak states are measured via serialized mutable state; Python object RSS and compact logical field counts are distinct quantities.

Keep all host manifests, case/query outcomes, failures, complete representative circuits (group0 reference and fully held-out), hashes for others and bounded construction traces; extra difficult trace is maximum D development-message case, first run-order tie. Prespecified author rerun is group0/L6/K8/p.15 D/B in a disposable directory. Independently reaggregate saved scores without constructor/runtime imports. Both are author checks, not independent scientific reproduction. Smoke command: python3 run_job.py smoke. Full command in a disposable source directory with frozen-status.json copied to status.json and no results/: python3 run_job.py full. Public release uses only explicitly scoped static artifacts and the authorized publisher after exact-byte editorial inspection. Publication failure does not prevent local completion. No subsequent study is executed; a successful study closes the constructor-only milestone.
