|
| 1 | +# Planned Features Delivery Plan |
| 2 | + |
| 3 | +This plan turns roadmap bullets into implementable tracks with clear ownership and acceptance criteria. |
| 4 | + |
| 5 | +## Track 1: Advanced Spatial Diff Algorithms |
| 6 | + |
| 7 | +### Scope |
| 8 | +- Add geometry-aware comparison modes in `faultline_diff`. |
| 9 | +- Support configurable tolerance and deterministic classification output. |
| 10 | +- Preserve stable artifact schema for downstream sync and audit consumers. |
| 11 | + |
| 12 | +### Crates |
| 13 | +- `faultline_rust_scaffold/crates/faultline-diff` |
| 14 | +- `faultline_rust_scaffold/crates/faultline-geometry` |
| 15 | +- `faultline_rust_scaffold/crates/faultline-core` |
| 16 | + |
| 17 | +### Milestones |
| 18 | +1. Add algorithm strategy enum and config object in diff models. |
| 19 | +2. Implement baseline geometry-aware comparator using existing geometry primitives. |
| 20 | +3. Add golden fixtures and deterministic output tests. |
| 21 | +4. Expose CLI flags for strategy selection and tolerance. |
| 22 | + |
| 23 | +### Acceptance Criteria |
| 24 | +- Same input fixtures produce byte-stable diff artifacts. |
| 25 | +- Geometry changes are classified separately from attribute-only changes. |
| 26 | +- Test coverage includes insert/update/remove plus geometry delta scenarios. |
| 27 | + |
| 28 | +## Track 2: Topology Change Detection |
| 29 | + |
| 30 | +### Scope |
| 31 | +- Introduce topology validation and topology-specific change event classification. |
| 32 | +- Emit explicit rule violations for invalid geometries. |
| 33 | + |
| 34 | +### Crates |
| 35 | +- `faultline_rust_scaffold/crates/faultline-geometry` |
| 36 | +- `faultline_rust_scaffold/crates/faultline-diff` |
| 37 | + |
| 38 | +### Milestones |
| 39 | +1. Define topology rule set and violation model. |
| 40 | +2. Add rule evaluators for closed ring and self-intersection checks. |
| 41 | +3. Integrate violations into diff artifact output. |
| 42 | +4. Add fixtures for valid and invalid topology transitions. |
| 43 | + |
| 44 | +### Acceptance Criteria |
| 45 | +- Topology violations are represented with deterministic rule IDs. |
| 46 | +- Diff outputs include topology-specific classification events when applicable. |
| 47 | + |
| 48 | +## Track 3: Cloud Optimization Validation Rules |
| 49 | + |
| 50 | +### Scope |
| 51 | +- Add validation contracts and checks for cloud-native geospatial artifact expectations. |
| 52 | +- Start with format-agnostic rules and add format-specific adapters incrementally. |
| 53 | + |
| 54 | +### Crates |
| 55 | +- `faultline_rust_scaffold/crates/faultline-core` |
| 56 | +- `faultline_rust_scaffold/crates/faultline-compute` |
| 57 | +- `faultline_rust_scaffold/apps/faultline-cli` |
| 58 | + |
| 59 | +### Milestones |
| 60 | +1. Define validation result schema and severity model. |
| 61 | +2. Add initial rule engine and rule registry. |
| 62 | +3. Add CLI `validate` command behavior backed by rule execution. |
| 63 | +4. Add report output in JSON for automation pipelines. |
| 64 | + |
| 65 | +### Acceptance Criteria |
| 66 | +- Validation run returns machine-readable JSON with rule IDs and severities. |
| 67 | +- CLI exit codes support CI use cases (pass/warn/fail policy). |
| 68 | + |
| 69 | +## Track 4: Distributed Dataset Comparison |
| 70 | + |
| 71 | +### Scope |
| 72 | +- Add remote/local snapshot comparison contract and transport-agnostic interfaces. |
| 73 | +- Keep transport implementation separate from comparison core. |
| 74 | + |
| 75 | +### Crates |
| 76 | +- `faultline_rust_scaffold/crates/faultline-sync` |
| 77 | +- `faultline_rust_scaffold/crates/faultline-diff` |
| 78 | +- `faultline_rust_scaffold/crates/faultline-index` |
| 79 | + |
| 80 | +### Milestones |
| 81 | +1. Define remote snapshot descriptor and fetch contract. |
| 82 | +2. Add distributed comparison session interface. |
| 83 | +3. Implement local simulation harness for peer-vs-peer diff tests. |
| 84 | +4. Add conflict and divergence reporting artifacts. |
| 85 | + |
| 86 | +### Acceptance Criteria |
| 87 | +- Remote descriptor contract supports deterministic compare requests. |
| 88 | +- Divergence reports include enough detail for remediation. |
| 89 | + |
| 90 | +## Track 5: Visualization Tooling |
| 91 | + |
| 92 | +### Scope |
| 93 | +- Add a minimal visualization layer for diff and topology outputs. |
| 94 | +- Keep renderer decoupled from core engine outputs. |
| 95 | + |
| 96 | +### Components |
| 97 | +- `faultline_rust_scaffold/apps/faultline-web` |
| 98 | +- Optional CLI report rendering in `apps/faultline-cli` |
| 99 | + |
| 100 | +### Milestones |
| 101 | +1. Define visualization data contract from diff artifacts. |
| 102 | +2. Implement first map overlay prototype for before/after geometry and change classes. |
| 103 | +3. Add topology violation layer. |
| 104 | +4. Add exportable report assets. |
| 105 | + |
| 106 | +### Acceptance Criteria |
| 107 | +- Visualization reads canonical artifact JSON without transformation hacks. |
| 108 | +- Change classes and topology violations are visually distinct. |
| 109 | + |
| 110 | +## Recommended Execution Order |
| 111 | +1. Advanced Spatial Diff Algorithms |
| 112 | +2. Topology Change Detection |
| 113 | +3. Cloud Optimization Validation Rules |
| 114 | +4. Distributed Dataset Comparison |
| 115 | +5. Visualization Tooling |
| 116 | + |
| 117 | +## Suggested Immediate Sprint (next 1-2 weeks) |
| 118 | +- Implement Track 1 Milestones 1 and 2. |
| 119 | +- Implement Track 2 Milestone 1. |
| 120 | +- Add fixture set expansion for deterministic diff and topology assertions. |
| 121 | +- Ship CLI flags for diff strategy and tolerance behind stable defaults. |
0 commit comments