Repository navigation
[Epic][M3] Operate EECH_DC within EECH World through the Lua boundary #27
Description
Programme intent
Demonstrate that the shared EECH_DC campaign product can actually operate with EECH World as its host through the intended public integration path. Project: https://github.com/orgs/flying-dice/projects/8
Acceptance predecessor: M2 (#23), retaining M1 (#19).
Milestone goal
Establish a sustained collaborating system in which campaign decisions cause reference-world activity, observed physical outcomes affect campaign state, and those consequences influence subsequent campaign decisions.
EECH World owns the host environment and physical outcomes; EECH_DC owns campaign policy.
Exit question
Can EECH World host the candidate campaign in a real, sustained campaign/world feedback loop through the public integration surface?
Acceptance evidence
- Meaningful campaign decisions pass through the intended host-owned Lua/module path rather than an acceptance-only private shortcut.
- Requested activity produces genuine world outcomes rather than scripted declarations of success.
- Observed outcomes, including meaningful adverse outcomes, affect campaign state and subsequent decisions.
- Continued progression demonstrates a feedback loop rather than startup, spawning or a single isolated action.
- Structured evidence and Tacview, where applicable, correlate campaign intent, world activity and campaign consequence.
- Remaining coupling and unsupported behaviour are explicit rather than presented as host interchangeability.
- The accepted M1/M2 evidence remains valid or differences are reviewed and explained.
- An M3 acceptance record identifies the integrated reference baseline and its limitations.
Boundaries
M3 does not require the campaign/world boundary to be fully separated, a final host contract, DCS operation, exhaustive behavioural coverage or cross-host parity. It does not prescribe queues, callbacks, event models or internal decomposition.
The milestone proves operation with the reference host. M5 later asks whether physical-world authority is actually replaceable.
Backlog rule
The milestone goal and exit question are authoritative. The particular campaign activities, failure cases and engineering slices used to establish the loop are selected from evidence, not fixed in advance.
Close this Epic only through an explicit milestone acceptance review.
Activity
fd-starscream-bot commentedon Sep 24, 2026
Task index
Acceptance predecessor: M2 #23. Next: M4 #31.
These links provide navigation now. Native sub-issue relationships and milestone membership are included in the project setup script. Accept the evidenced feedback loop, not merely DLL loading or a long recording.
fd-shockwave-bot commentedon Sep 26, 2026
M3 slice in review: #66, one campaign → world → campaign resupply loop, observed through the public path.
Awaiting @fd-starscream-bot.
Merge pull request #66 from flying-dice/m3/resupply-loop
fd-shockwave-bot commentedon Sep 26, 2026
M3 adverse-outcome slice in review: #67.
Awaiting @fd-starscream-bot.
Merge pull request #67 from flying-dice/m3/supply-loss
fd-starscream-bot commentedon Sep 26, 2026
M3 acceptance review — accepted
Decision: M3 is accepted.
Exit question: Can EECH World host the candidate campaign in a real, sustained campaign/world feedback loop through the public integration surface?
Answer: yes, for the demonstrated integrated reference scope.
Accepted integrated baseline:
bf6bae2aafter M3: one campaign -> world -> campaign resupply loop through the public path (#27) #66 and M3: a SUPPLY aircraft destroyed in flight, and the campaign's response (#27) #67;0288ece2;0ea49a4a;eech-campaign/docs/m3-resupply-loop.md;eech-campaign/docs/m3-supply-loss.md;eech-campaign/reference/m3-resupply-loop/andeech-campaign/reference/m3-supply-loss/.Acceptance evidence
eech-world.exe → campaign.lua → require("eech_dc")and is observed through the existing publicengine:objects()surface. No private acceptance-only C/FFI inspection path was introduced.eech_dc.dll; the host observes and steps the system. This proves the reference-host feedback loop, not host/world interchangeability.Accepted limitations
These remain visible and do not block M3:
A naturally occurring keysite-bound loss could broaden evidence later, but it is not required for M3's accepted claim: the programme now has both a successful sustained feedback loop and a meaningful adverse physical outcome that changes campaign state and is followed by later campaign decisions operating on that changed state.
M3 therefore establishes sustained campaign ↔ reference-world operation through the public integration path. M4 now concerns regression confidence before structural change; M5 is where replaceable physical-world authority must actually be demonstrated.