M3a: Sim: economy, Towns, territory field and construction
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 35/100
Research direction
Start with the canonical checklist in docs/ROADMAP.md#m3a-sim-economy-towns-territory-field-and-construction, then read docs/IMPLEMENTER_NOTES.md and docs/HANDOFF.md for project guidance. Run the named economy and territory tests and the territory benchmark as you work; the acceptance checks also specify the scripted headless fixture and data-only path using data/rules/buildings.ron. Done means the checklist criteria pass and their command output is included in the closing PR.
Written by the indexing model from the issue text.
Description
Tracking issue for M3a: Sim: economy, Towns, territory field and construction.
The macro loop exists headlessly: Yeomen auto-gather four resources under the Yield Cap with integer-exact income and ramping costs, Towns project a territory field with a pure tiebreak, and Build is rejected outside it, all defined in RON and proven by tests and benches.
Acceptance
The canonical checklist lives in docs/ROADMAP.md; tick boxes there in the PR that closes each line, and paste the command output in the PR description. This copy is for tracking only.
-
cargo test -p sim economy: one Yeoman on a Croft yields exactly 10 Grain per 600 ticks; with 10 Crofts worked the Grain rate is clamped to 70 per 600 ticks and the stockpile grows by exactly 70; Lore ignores the Yield Cap; the second Town costs more than the first by exactly therules.ronformula; queuing a Yeoman raises the next Yeoman's cost by 1 Grain before it finishes; the 6th queued Skirmisher is capped at 2.25x base. -
cargo test -p sim territory: the fixture with 2 Towns + 1 Watchtower yields the golden owned-tile count and the mirrored midline tiles are neutral; proptest over 200 random source edits asserts incremental recompute hash == full recompute hash; a Build outside own borders is rejected withCommandRejected { reason: OutsideBorders }and no state change. -
cargo run -p sim-cli --release -- bench --territory --sources 16 --edits 100reports mean incremental recompute < 2 ms. - Scripted headless economy fixture: from the standard start (1 Town, 5 Yeomen, 150 Grain / 150 Lumber / 0 Ore / 0 Lore) a fixed build order founds a second Town before tick 3600 and the final hash matches the fixture.
- Data-only contributor path: change croft gather rate from 10 to 12 in
data/rules/buildings.ron, runsim-cli data-checkandcargo test -p sim(the flatline test reads the number from data) without touching Rust; documented in CONTRIBUTING.
Rules
- All non-
[owner]lines pass before the next milestone starts;[owner]lines pass before the milestone after next, and the agent runs the named automated proxy first. - If the milestone runs long, split it into sim and game halves with their own acceptance subsets. Never cut acceptance criteria.
- See docs/IMPLEMENTER_NOTES.md and docs/HANDOFF.md.
- Dominant language
- Rust
- Stars
- 0
- Forks
- 1
- Avg merge
- 1d 7h
- Merged PRs (30d)
- 10
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from tonianev/eonmark
-
area:sim good first issue kind:feature
Difficulty 2/5 1-3 hours Newbie friendliness 87/100
Maintainers usually reply within 1 day
-
area:sim good first issue kind:feature
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
Maintainers usually reply within 1 day
-
area:game good first issue kind:feature
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
Maintainers usually reply within 1 day
-
area:infra good first issue kind:feature
Difficulty 1/5 Under an hour Newbie friendliness 90/100
Maintainers usually reply within 1 day
-
Test that a Statecraft level researched during an annexation timer keeps the territory field exactOpenarea:sim good first issue kind:feature
Difficulty 3/5 1-2 days Newbie friendliness 78/100
Maintainers usually reply within 1 day
All issues in tonianev/eonmark
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
Maintainers usually reply within 1 day
-
feature
Difficulty 1/5 Under an hour Newbie friendliness 92/100
dsx-ai-factory/infra-controller#8145 ·
Maintainers usually reply within 1 day
-
bug: workspace access hint suggests a --subject command that fails for hyphen-leading OIDC subjectsOpen
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 1 day
-
type: bug
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 1 day
-
A-FFI C-Testing D-Straightforward S-Ready
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
Maintainers usually reply within 1 day