|
26 | 26 | (version . "0.7.0")) |
27 | 27 |
|
28 | 28 | (current-position |
29 | | - (phase . "Phase 6 M2 Complete / Phase 0 Sealing Complete") |
30 | | - (overall-completion . 72) |
| 29 | + (phase . "Phase 6 M3 Complete - Pipelines Operational") |
| 30 | + (overall-completion . 75) |
31 | 31 |
|
32 | 32 | (components |
33 | 33 | (proofs |
|
37 | 37 |
|
38 | 38 | (rust-cli |
39 | 39 | (status . "production-ready") |
40 | | - (completion . 90) |
41 | | - (details . "Interactive shell with redirections, SIGINT handling, error recovery, comprehensive docs. All tests passing (90/90: 44 unit + 27 integration + 19 property)")) |
| 40 | + (completion . 92) |
| 41 | + (details . "Interactive shell with pipelines, redirections, SIGINT handling, error recovery, comprehensive docs. All tests passing (104/104: 58 unit + 27 integration + 19 property)")) |
42 | 42 |
|
43 | 43 | (elixir-impl |
44 | 44 | (status . "failing-build") |
|
64 | 64 | "Rust CLI with mkdir/rmdir/touch/rm" |
65 | 65 | "External command execution (ls, cat, echo, etc.)" |
66 | 66 | "PATH lookup and executable discovery" |
| 67 | + "Unix pipelines (cmd1 | cmd2 | cmd3)" |
| 68 | + "Pipeline stdio chaining via Stdio::piped()" |
| 69 | + "Pipeline exit codes from last stage (POSIX behavior)" |
67 | 70 | "I/O Redirections (>, >>, <, 2>, 2>>, &>, 2>&1)" |
68 | 71 | "Redirection undo support (file truncate/append reversible)" |
69 | | - "SIGINT handling (Ctrl+C interrupts commands, not shell)" |
| 72 | + "Pipeline undo support (final redirections reversible)" |
| 73 | + "SIGINT handling (Ctrl+C interrupts commands/pipelines, not shell)" |
70 | 74 | "Process group management for job control" |
71 | 75 | "Exit code tracking with signal detection" |
72 | 76 | "Undo/redo with operation history" |
|
75 | 79 | "Error recovery with visibility (no silent failures)" |
76 | 80 | "Comprehensive API documentation (rustdoc)" |
77 | 81 | "GitHub Actions CI pipeline" |
78 | | - "All tests passing (90/90: 44 unit + 27 integration + 19 property)" |
| 82 | + "All tests passing (104/104: 58 unit + 27 integration + 19 property)" |
79 | 83 | "Formal proofs verified in 6 systems")) |
80 | 84 |
|
81 | 85 | (route-to-mvp |
|
153 | 157 | "✓ GitHub Actions CI pipeline" |
154 | 158 | "✓ Comprehensive API documentation (rustdoc)")) |
155 | 159 | ((name . "Milestone 3: Pipelines") |
156 | | - (status . "planned") |
| 160 | + (status . "complete") |
| 161 | + (version . "0.7.3") |
157 | 162 | (items |
158 | | - "□ Pipeline operator (|)" |
159 | | - "□ Multi-stage pipeline execution" |
160 | | - "□ Pipeline error handling" |
161 | | - "□ Pipeline undo support"))) |
| 163 | + "✓ Pipeline operator (|)" |
| 164 | + "✓ Multi-stage pipeline execution" |
| 165 | + "✓ Pipeline error handling" |
| 166 | + "✓ Pipeline undo support" |
| 167 | + "✓ Stdio chaining via Stdio::piped()" |
| 168 | + "✓ Exit code from last stage (POSIX)" |
| 169 | + "✓ SIGINT handling for entire pipeline" |
| 170 | + "✓ 7 pipeline integration tests")))) |
162 | 171 | (items |
163 | 172 | "✓ Basic command parser implemented" |
164 | 173 | "✓ External command execution" |
165 | 174 | "✓ Redirections (>, <, >>, 2>, 2>>, &>, 2>&1)" |
166 | | - "□ Pipeline support (|)" |
| 175 | + "✓ Pipeline support (|)" |
167 | 176 | "□ Variables ($VAR)" |
168 | 177 | "□ Glob expansion (*.txt)" |
169 | 178 | "□ Quote processing" |
|
252 | 261 | "Component 6: Comprehensive API documentation (rustdoc)" |
253 | 262 | "All documentation builds without warnings" |
254 | 263 | "Pushed to GitHub: 6 commits (Phase 0) + foundation work" |
255 | | - "Updated STATE.scm to v0.7.2"))))) |
| 264 | + "Updated STATE.scm to v0.7.2")) |
| 265 | + |
| 266 | + ((timestamp . "2026-01-28") |
| 267 | + (accomplishments |
| 268 | + "Completed Phase 6 Milestone 3: Unix Pipelines" |
| 269 | + "Component 1: Added Pipe token to tokenizer" |
| 270 | + "Component 2: Implemented parse_pipeline() function" |
| 271 | + "Component 3: Added Command::Pipeline enum variant" |
| 272 | + "Component 4: Implemented execute_pipeline() with stdio chaining" |
| 273 | + "Component 5: Integrated Pipeline into ExecutableCommand trait" |
| 274 | + "Component 6: Added 7 pipeline integration tests" |
| 275 | + "Component 7: Updated documentation with pipeline examples" |
| 276 | + "Stdio chaining: first=inherit, middle=piped, last=redirect" |
| 277 | + "Exit code from last stage (POSIX behavior)" |
| 278 | + "SIGINT kills entire pipeline (exit code 130)" |
| 279 | + "Final redirections tracked for undo" |
| 280 | + "All tests passing (104/104: 58 unit + 27 integration + 19 property)" |
| 281 | + "Pipeline examples: ls | grep test, cat | wc -l > count.txt" |
| 282 | + "Manual testing successful: ls | head -3 works correctly" |
| 283 | + "Updated GETTING_STARTED.md with Pipelines section" |
| 284 | + "Updated STATE.scm to v0.7.3")))) |
256 | 285 |
|
257 | 286 | (define (get-state) |
258 | 287 | "Return the current project state" |
|
0 commit comments