Include the current addon, terrain integrations, tools, regression tests and recorded development evidence.
132 lines
11 KiB
Markdown
132 lines
11 KiB
Markdown
# HQ report chronology, admission retries and Intel reroll progress
|
|
|
|
## Changes
|
|
|
|
HQ now records the observation time of positive sightings in its shared search cells. A delayed negative report about a different target cannot exclude a cell after a newer sighting there. An older positive report cannot erase a newer completed sweep, and a tie favors the positive sighting. Delivery still runs through the existing physical radio route and production intake; the change adds no player-position access. The history holds at most 128 positive cells. On eviction it retains a conservative time floor, which can reject old negative reports in unrelated cells rather than restore a stale exclusion. Mission shutdown clears both history and floor.
|
|
|
|
A queued player admission retry now captures its original player controller. If the same account reconnects using the same connection ID, the old callback cannot consume the replacement controller's retry or attempt budget. Existing identity, cancellation and duplicate-queue checks remain active.
|
|
|
|
Intel rerolls now spend their eight-operation tick budget only on unfinished entries. A separate cap of 32 cheap entry inspections prevents an unbounded scan. With 128 completed entries before one pending actor, that actor advances on tick five rather than tick seventeen. Each actor is still visited at most once per tick; finite attempts, captured batch settings, inventory ownership and ambiguous-transfer quarantine are unchanged.
|
|
|
|
## Verification
|
|
|
|
The [complete repository check](evidence/check-2026-09-30-chronology.log.txt) passes all **234 registered regression programs**. Actual-method regressions reproduce stale cross-belief coverage, controller reuse and delayed progress behind completed Intel entries against the previous behavior, then pass with the corrections. Tests also cover timestamp ties, older positive deliveries, bounded history eviction/reset, original retry cancellation and bounded native work. The first [check attempt](evidence/check-2026-09-30-chronology-adapter-failure.log.txt) exposed an outdated coverage adapter in the HQ casualty-intake test. That adapter now accepts the timestamp and checks that intake forwards the observed time.
|
|
|
|
The [focused native HQ awareness run](evidence/native-2026-09-30-hq-awareness-chronology/report.json) compiles the combined source, completes **61 scripted assertions and one round**, and records **zero script/runtime failures**. It exercises originating-call interruption, physical radio delivery into production memory, a stable two-sighting trajectory, delivered negative evidence, replay rejection, a newer sighting superseding a sweep, stale-revision refusal and shutdown. Its synthetic reports do not prove natural visual detection, cross-target asynchronous timing, an actual completed infantry sweep, reconnect behavior or Intel batch throughput. Those new edge cases currently have actual-method regression evidence only.
|
|
|
|
The earlier [legacy combined HQ/convoy fixture](evidence/native-2026-09-30-hq-chronology/report.json) remains failed: 32 assertions precede its deadline, and the journal records refusal of the legacy finite convoy allowance. The fixture waits for its legacy force-readiness assumptions before exercising memory. The focused awareness scenario is a separate existing test; it does not make the failed legacy test pass or change its gates.
|
|
|
|
Both native attempts preserve the thirteen installed-resource errors. The focused run therefore retains a failed strict qualification verdict despite completing its script. Both runners confirm unchanged launch source/seven external inputs and successful private cleanup. All tests used the established hidden display and silent sink; no main-monitor windows or existing missions were changed.
|
|
|
|
Native addon source manifest: `e69d0829c4b61f193d14f172f08b9b9938626a6812dae5d95ce09acd39a62433`.
|
|
|
|
## Remaining scope
|
|
|
|
The earlier packaged development candidate remains unchanged and predates these fixes and the multi-convoy resupply feature. The previously failed two-batch, 129-actor Intel stress fixture was not rerun, so the scheduling change is not claimed to resolve that timeout. Ordinary human escape, remote multiplayer/reconnect, autonomous multi-truck delivery, matched-workload FPS measurement and clean release qualification remain unfinished. Experimental AI helicopter flight and prison input automation remain paused.
|
|
|
|
|
|
## Contradictory recent sightings
|
|
|
|
HQ no longer skips a contradictory recent observation to derive a convenient
|
|
motion estimate from an older pair. A regression reproduced the failure with one
|
|
on-foot identity at x=0 at t=0, x=100 at t=10 seconds, and x=0 at t=11 seconds:
|
|
the earlier algorithm skipped the one-second pair and reported credible stationary
|
|
motion. The corrected bounded scan first checks each near-time sample against
|
|
the existing two-second minimum-baseline speed envelope. A conflict leaves the
|
|
latest position, original observation age, confidence and history intact, but
|
|
withholds direction and speed. Small near-simultaneous variation still uses a
|
|
credible older baseline. No hidden current player location is read.
|
|
|
|
Actual-method tests cover the reproduced failure, the 24-metre on-foot envelope
|
|
boundary, equal-time replacement rejection and isolation of another player's
|
|
valid movement track. Memory, pursuit and delivered-order regressions pass. Native
|
|
compilation is recorded by the later alarm-hearing fixture; that fixture does not
|
|
simulate this contradictory-sightings case or establish multiplayer qualification.
|
|
|
|
|
|
## Fire-support contacts share memory's movement evidence
|
|
|
|
The fire-support contact list previously calculated motion separately from HQ
|
|
memory. Two on-foot observations 300 metres apart over ten seconds could therefore
|
|
produce a 30 m/s mortar prediction even though memory correctly rejected that
|
|
movement. Mode changes and contradictory recent sightings could also leave the
|
|
two consumers with different estimates.
|
|
|
|
After a sighting is accepted into memory, the contact list now takes its movement
|
|
estimate from that same target's delivered history. A detached contact keeps the
|
|
original observed position and time, with zero velocity when history is not
|
|
credible. The original radio report stays unchanged. Equal-time, older and replayed
|
|
reports cannot renew a contact; existing mortar age and friendly-fire checks remain.
|
|
|
|
The actual Accept method and actual memory service run together in the regression.
|
|
The new case fails against the preceding source and passes after the correction.
|
|
Coverage includes impossible foot motion, travel-mode changes, short baselines,
|
|
credible horizontal motion, contradictory recent samples, close consistent
|
|
refinement and source-report isolation. Native edge-case and multiplayer evidence
|
|
remain separate from this deterministic harness.
|
|
|
|
|
|
## Active and pending task reservations — 1 October 2026
|
|
|
|
A queued radio retask previously hid the squad's still-executing destination from
|
|
new allocations. If its downlink failed, the old waypoint remained in use while
|
|
another squad could already have been sent to that cell. The shared collection
|
|
now reserves both the delivered task and pending replacement until delivery commits
|
|
or the pending order is cancelled. This covers search cells, road interception
|
|
spacing and approach bearings without creating forces or reading player positions.
|
|
|
|
A retasking squad may replace its own old cell, but its delivered approach sector
|
|
remains committed during admission. Keeping that sector prevents a proposed third
|
|
sector from slipping past the two-sector policy during radio transit. A third
|
|
occupied sector conservatively blocks further commitments until a task is released
|
|
or expires. This can delay a rotation; it preserves an open approach rather than
|
|
allowing each pending transaction to hide the previous order. Site-security tasks
|
|
without a pursuit bearing reserve only their destination. Recall orders reserve no
|
|
new destination; the active task remains reserved until the recall is delivered.
|
|
|
|
The global limit still counts each squad once. Coverage accepts at most sixteen
|
|
reservation snapshots for the existing maximum eight squads; it refuses larger
|
|
inputs. Actual-method regressions reproduce the old duplicate-cell allocation and
|
|
the own-bearing omission before their fixes, then cover interruption, committed
|
|
replacement, recall, peer retasks, sixteen-entry rejection boundaries and unchanged
|
|
squad counts. These deterministic checks do not claim a real multiplayer radio race.
|
|
|
|
The [integrated native awareness/radio run](evidence/native-2026-10-01-hq-dual-reservations/report.json)
|
|
completes 77 scripted assertions with zero script/runtime failures and thirteen
|
|
retained installed-resource errors. It checks compilation and the existing physical
|
|
observation/radio path; the interrupted-retask allocation cases are covered by the
|
|
actual-method regression, not claimed as new native race proof. All 257 repository
|
|
programs pass. [Combined review and preservation evidence](evidence/maintenance-hq-2026-10-01/review.json).
|
|
|
|
|
|
## Failed retask deadlines — 1 October 2026
|
|
|
|
Queuing a replacement reserves its search lifetime plus the existing three-minute
|
|
pursuit interval. Previously a failed long-distance retask retained that extended
|
|
interval whenever any task for the same belief survived. An old order ending at
|
|
120 seconds could therefore retain a 780-second cooldown from a replacement that
|
|
never arrived, instead of its own 300-second horizon.
|
|
|
|
Cancellation now considers both delivered and pending surviving commitments.
|
|
It shortens the existing cooldown to their latest expiry plus three minutes, or
|
|
a fifteen-second retry when none survive. It never increases an already earlier
|
|
retry. A different pending belief cannot hide the still-active original hunt;
|
|
recall, site security, watch investigations, expired tasks and orphan task pointers
|
|
do not reserve pursuit time. The original order and physical waypoint remain
|
|
untouched. Pending expiry in the normal assignment pass uses this same cleanup.
|
|
|
|
The actual Retask deadline update, LostOrder and assignment cleanup are exercised
|
|
by regressions, including two failures against the previous source. All 257
|
|
repository programs pass. The [normal escape route](evidence/native-2026-10-01-hq-lost-retask-route/report.json)
|
|
completes 63 assertions and its result screen with zero script/runtime failures;
|
|
thirteen known installed-resource errors retain strict failure.
|
|
|
|
The separate [awareness fixture](evidence/native-2026-10-01-hq-lost-retask/report.json)
|
|
passes 53 assertions including two actual delivered sightings, then reaches its
|
|
fixed deadline before queuing the synthetic completed-sweep report. Its two
|
|
fixture failures remain archived; native interrupted-retask timing is not claimed.
|
|
Both runs use identical source, with only HQ.c changed since the prior integrated
|
|
awareness run. Hidden/muted cleanup and source/external invariance pass. Existing
|
|
packaged artifacts, all 533 reference files and 52 previous unstaged paths are
|
|
preserved. [Review and regression evidence](evidence/hq-lost-retask-2026-10-01/review.json).
|