┌─────────────────────────────────┐
│ intsoc-cli (binary) │
│ check │ fix │ submit │ status │
└──────┬──┴──┬──┴──┬──┴──┬────────┘
│ │ │ │
┌──────────────┼─────┼─────┼─────┼──────────────┐
│ ▼ ▼ ▼ ▼ │
│ ┌──────────────────────────────────────────┐ │
│ │ intsoc-core │ │
│ │ Organization ─ Stream ─ Document ─ Fix │ │
│ │ StateMachine ─ Validation ─ Transaction │ │
│ └──────────────────────────────────────────┘ │
│ ▲ ▲ ▲ ▲ │
│ │ │ │ │ │
│ ┌────┴───┐┌───┴────┐┌──┴──┐┌───┴───┐ │
│ │ parser ││ fixer ││ git ││ api │ │
│ │ XML v3 ││ engine ││ gix ││ DT+ │ │
│ │ plain ││ 6 gens ││ ││ IANA │ │
│ │ idnits ││ diff ││ ││ │ │
│ └────┬────┘└────┬───┘└──┬──┘└───┬───┘ │
│ │ │ │ │ │
│ ▼ ▼ ▼ ▼ │
│ ┌──────────────────────────────────┐ │
│ │ intsoc-nickel │ │
│ │ contracts ─ templates ─ policies │ │
│ └──────────────────────────────────┘ │
│ │
│ R u s t W o r k s p a c e │
└───────────────────────────────────────────────┘
┌───────────────────────────────────────────────┐
│ GUI (Gossamer) │
│ ┌──────────────────────────────────────────┐ │
│ │ ReScript TEA Frontend │ │
│ │ Editor ─ Checker ─ Fixer ─ Submitter │ │
│ └──────────────────────────────────────────┘ │
│ ┌──────────────────────────────────────────┐ │
│ │ backend/ (Rust+Gossamer) │ │
│ │ Gossamer commands ←→ core/parser/fixer │ │
│ └──────────────────────────────────────────┘ │
└───────────────────────────────────────────────┘
┌─────────────────────┐ ┌──────────────────────┐
│ Haskell (Phase 2) │ │ Idris2+Zig (Phase 3) │
│ megaparsec ABNF │ │ ABI Types ─ Zig FFI │
│ RFC XML deep │ │ Parser bridge │
└─────────────────────┘ └──────────────────────┘
┌──────────────────────┐
External: │ IETF Datatracker API │
│ IANA Registry API │
│ RFC Editor API │
└──────────────────────┘
| Component | Progress | Status |
|---|---|---|
intsoc-core |
|
Phase 1 MVP |
intsoc-parser |
|
Phase 1 MVP |
intsoc-fixer |
|
Phase 1 MVP |
intsoc-nickel |
|
Phase 1 MVP |
intsoc-cli |
|
Phase 1 MVP |
intsoc-git |
|
Phase 1 |
intsoc-api |
|
Phase 1 |
GUI (Gossamer+ReScript) |
|
Phase 1 |
Nickel templates |
|
Phase 1 |
Haskell parser |
|
Phase 2 |
Idris2 ABI + Zig FFI |
|
Phase 3 |
Tests |
|
Ongoing |
RSR compliance |
|
Ongoing |
| Dependency | Version | Purpose |
|---|---|---|
winnow |
0.6 |
Plain-text document parsing |
quick-xml |
0.37 |
RFC XML v3 parsing (read+write) |
similar |
2 |
Unified diff generation |
gix |
0.68 |
Git integration (pure Rust) |
reqwest |
0.12 |
HTTP client (rustls-tls) |
clap |
4 |
CLI argument parsing |
gossamer-rs |
0.1 |
Gossamer webview shell bindings |
nickel |
CLI |
Template rendering + contracts |
megaparsec |
9.6 |
Haskell parser combinators (Ph.2) |