Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Feature Cluster Sources and Extraction Scope (Baseline)

SourceExtraction Scope in This MapBaseline Status
src/08-ROADMAP.mdPhase deliverables + exit criteria grouped into milestone clustersIncluded (clustered, not 1:1 bullet mirroring)
src/09-DECISIONS.mdDxxx mapping handled in tracker; referenced here via cluster-level Decisions columnIncluded via cluster references
src/11-OPENRA-FEATURES.mdGameplay familiarity priority groups (P0P3) mapped to milestone gatesIncluded
src/17-PLAYER-FLOW.mdMilestone-gating UX surfaces (setup, menu/skirmish, lobby/MP, campaign flow, moderation/review, SDK entry)Included
src/07-CROSS-ENGINE.mdTrust/host-mode packaging and anti-cheat capability constraintsIncluded

Feature Cluster Dependency Matrix (Detailed Baseline)

Cluster IDs are stable and referenced by the tracker and future implementation notes. This matrix is intentionally grouped by milestone and feature family rather than mirroring roadmap bullets line-by-line.

Cluster IDFeature ClusterMilestoneDepends On (Hard)Depends On (Soft)Canonical DocsDecisionsRoadmap PhaseGap PriorityExit GateParallelizable WithRisk Notes
M0.CORE.TRACKER_FOUNDATIONProject tracker page + status model + Dxxx row mappingM018-PROJECT-TRACKER.md, 09-DECISIONS.mdOverlayTracker exists and is discoverableM0.CORE.DEP_GRAPH_SCHEMAMust stay overlay-only (do not replace roadmap)
M0.CORE.DEP_GRAPH_SCHEMAMilestone DAG, edge semantics, cluster schemaM0tracking/milestone-dependency-map.mdOverlayEdge kinds and DAG documentedM0.UX.TRACKER_DISCOVERABILITYDrift if roadmap changes are not propagated
M0.UX.TRACKER_DISCOVERABILITYmdBook + LLM-index + methodology wiringM0M0.CORE.TRACKER_FOUNDATIONSUMMARY.md, LLM-INDEX.md, 14-METHODOLOGY.mdOverlayPages are reachable and routedNone
M0.OPS.MAINTENANCE_RULESUpdate rules, evidence rules, index-drift watchlistM0M0.CORE.TRACKER_FOUNDATION18-PROJECT-TRACKER.mdOverlayMaintenance section presentTracker becomes stale without this
M0.OPS.FUTURE_DEFERRAL_DISCIPLINE_AND_AUDITFuture/deferral wording discipline, classification rules, and repo-wide audit/remediation workflow for canonical docsM0M0.CORE.TRACKER_FOUNDATION, M0.CORE.DEP_GRAPH_SCHEMA, M0.OPS.MAINTENANCE_RULESM0.UX.TRACKER_DISCOVERABILITYAGENTS.md, 14-METHODOLOGY.md, 18-PROJECT-TRACKER.md, tracking/future-language-audit.md, tracking/deferral-wording-patterns.mdOverlay (cross-cutting planning hardening)Ambiguous future planning language is classified, mapped, or explicitly marked proposal-only/Pxxx; audit page exists and is maintainableP-Core process feature: wording ambiguity becomes planning debt and can silently bypass milestone/dependency discipline
M0.OPS.EXTERNAL_CODE_REPO_BOOTSTRAP_AND_NAVIGATION_TEMPLATESExternal implementation-repo bootstrap chapter + external AGENTS.md template + source-code index template + GitHub template repository (iron-curtain/ic-template) with pre-wired CI, AGENTS.md referencing design-docs as canonical authority, and Cargo workspace scaffoldM0M0.CORE.TRACKER_FOUNDATION, M0.CORE.DEP_GRAPH_SCHEMA, M0.OPS.MAINTENANCE_RULES, M0.QA.CI_PIPELINE_FOUNDATIONM0.UX.TRACKER_DISCOVERABILITY, M0.OPS.FUTURE_DEFERRAL_DISCIPLINE_AND_AUDITtracking/external-code-project-bootstrap.md, tracking/external-project-agents-template.md, tracking/source-code-index-template.md, AGENTS.mdD020, D039Overlay (implementation-handoff hardening)External code repos can be initialized with canonical design linkage, no-silent-divergence rules, and a code navigation index that maps code to Dxxx/G*; GitHub template repo published with passing CIM1.CORE.RA_FORMATS_PARSE, M1.CORE.DATA_DIR_AND_PORTABILITY_BASE, M8.SDK.CLI_FOUNDATION, M9.SDK.D038_SCENARIO_EDITOR_COREWithout this, external repos and agent workflows drift from milestone order and canonical decisions even when tracker docs exist
M0.OPS.FREEWARE_CONTENT_MIRROR_POLICY_GATERights/provenance policy gate for any official/community Workshop mirroring of legacy/freeware C&C contentM0M0.OPS.MAINTENANCE_RULESPG.LEGAL.DMCA_AGENT, PG.LEGAL.ENTITY_FORMED09e-community.md, 09c-modding.md, 09g-interaction.mdD037, D049, D068, D069Overlay / Phase 4-5 enablementPolicy is explicit (approved/limited/rejected), provenance/takedown rules documented, and D069 owned-import remains the baseline path regardlessM3.CORE.PROPRIETARY_ASSET_IMPORT_AND_EXTRACT, M8.COM.FREEWARE_MIRROR_STARTER_CONTENTRights ambiguity can create legal and trust failures if implied by “freeware” wording alone
M0.QA.CI_PIPELINE_FOUNDATIONCI/CD pipeline: PR gate (clippy, fmt, unit tests, determinism smoke), post-merge integration tests, nightly fuzz/bench/sandbox-escape, weekly full suiteM0M0.CORE.TRACKER_FOUNDATIONM0.OPS.MAINTENANCE_RULEStracking/testing-strategy.md, 16-CODING-STANDARDS.mdOverlay (cross-cutting)PR gate <10min, post-merge <30min, nightly <2hr, weekly <8hr targets defined and enforcedAll implementation milestonesWithout this, features ship without automated verification and regression debt compounds
M0.QA.TYPE_SAFETY_ENFORCEMENTclippy::disallowed_types config, newtype policy, deterministic collection ban in ic-sim, typestate requirements, capability token policy, compile-time defense verification (11 mechanisms from API misuse analysis)M0M0.CORE.TRACKER_FOUNDATIONM0.QA.CI_PIPELINE_FOUNDATION02-ARCHITECTURE.md, 16-CODING-STANDARDS.md, architecture/type-safety.md, architecture/api-misuse-defense.mdOverlay (cross-cutting)disallowed_types enforced in CI; newtype/typestate/capability patterns documented with review checklists; 11 compile-time defense mechanisms verified (private fields, typestate, pub(crate), !Sync, branded generics) per api-misuse-defense.mdM1.CORE.RA_FORMATS_PARSEMust be enforced before first crate code lands; retrofitting newtypes is expensive
M0.QA.PROPERTY_BASED_TEST_INFRAproptest framework configuration, initial property stubs (fixed-point arithmetic, BoundedVec/BoundedCvar invariants, deterministic collection ordering), CI integration for property-based tests in T1/T2 gatesM0M0.QA.CI_PIPELINE_FOUNDATIONM0.QA.TYPE_SAFETY_ENFORCEMENTtracking/testing-strategy.md, architecture/api-misuse-defense.mdOverlay (cross-cutting)proptest configured in workspace; initial properties (fixed-point overflow, bounded collection invariants) compile and run in CI; 256 cases per property in T1/T2, 10K in T3M1.CORE.RA_FORMATS_PARSEProperty count must grow with milestone exit gates, not ahead of them
M0.OPS.STANDALONE_CRATE_REPOSBootstrap standalone MIT/Apache crate repos (cnc-formats, fixed-game-math, deterministic-rng) before any GPL code; cargo-deny GPL-rejection CI; CONTRIBUTING.md with no-GPL-cross-pollination ruleM0M0.CORE.TRACKER_FOUNDATIONM0.QA.CI_PIPELINE_FOUNDATION09a/D076-standalone-crates.md, 05-FORMATS.mdD009, D039, D051, D076Phase 0 (day one)Three crate repos exist with MIT OR Apache-2.0 license, CI passes, cargo-deny rejects GPL depsM1.CORE.RA_FORMATS_PARSE, M2.CORE.SIM_FIXED_POINT_AND_ORDERSTier 1 crates must exist before ic-cnc-content (which wraps cnc-formats) and ic-sim (which depends on fixed-game-math + deterministic-rng); extracting later from GPL codebase is legally harder
M1.CORE.RA_FORMATS_PARSEic-cnc-content asset pipeline: wraps cnc-formats clean-room parsers (.mix, .shp, .pal, .aud, .vqa) with EA-derived constants and Bevy AssetSource integrationM1M0, M0.OPS.STANDALONE_CRATE_REPOS, M0.OPS.EXTERNAL_CODE_REPO_BOOTSTRAP_AND_NAVIGATION_TEMPLATES08-ROADMAP.md, 05-FORMATS.mdD003, D039, D076Phase 0Assets parse against known-good corpusM1.CORE.OPENRA_DATA_COMPATBreadth of legacy file quirks
M1.CORE.OPENRA_DATA_COMPATOpenRA YAML/MiniYAML/runtime aliases and mod manifest loadingM1M1.CORE.RA_FORMATS_PARSE08-ROADMAP.md, 04-MODDING.mdD003, D023, D025, D026Phase 0OpenRA mods load to typed structsKeep D023/D025/D026 mapping aligned with both import and export workflows as D066 evolves
M1.CORE.RENDERER_SLICEBevy isometric map + sprite renderer, camera, fog/shroud basicsM1M1.CORE.RA_FORMATS_PARSEM1.CORE.OPENRA_DATA_COMPAT08-ROADMAP.md, 02-ARCHITECTURE.md, 10-PERFORMANCE.mdD002, D017, D039Phase 1Any OpenRA RA map renders faithfullyM1.UX.VISUAL_SHOWCASEResist premature post-FX complexity
M1.UX.VISUAL_SHOWCASEPublic visual slice (map rendered, animated units, camera feel)M1M1.CORE.RENDERER_SLICE08-ROADMAP.md, 17-PLAYER-FLOW.mdD017Phase 1Community-visible slice existsNot a substitute for sim correctness
M1.CORE.DATA_DIR_AND_PORTABILITY_BASE<data_dir> layout, overrides, early backup/portability foundationM1M0, M0.QA.TYPE_SAFETY_ENFORCEMENT, M0.OPS.EXTERNAL_CODE_REPO_BOOTSTRAP_AND_NAVIGATION_TEMPLATES08-ROADMAP.md, 04-MODDING.mdD061Phase 0Data dir layout and overrides are stableM1.CORE.RA_FORMATS_PARSEAffects later install/setup and profile flows