|
3 | 3 |
|
4 | 4 | (define project-state |
5 | 5 | `((metadata |
6 | | - ((version . "1.0.0") |
| 6 | + ((version . "0.1.0") |
7 | 7 | (schema-version . "1") |
8 | 8 | (created . "2026-01-10T13:49:37+00:00") |
9 | | - (updated . "2026-01-10T13:49:37+00:00") |
| 9 | + (updated . "2026-02-04T10:30:00+00:00") |
10 | 10 | (project . "fireflag") |
11 | 11 | (repo . "fireflag"))) |
12 | 12 |
|
| 13 | + (project-context |
| 14 | + ((name . "FireFlag") |
| 15 | + (tagline . "Safe Firefox/Gecko flag management for users and developers") |
| 16 | + (tech-stack . ("ReScript" "Idris2" "Zig" "WASM" "Deno")))) |
| 17 | + |
13 | 18 | (current-position |
14 | 19 | ((phase . "Active Development") |
15 | | - (overall-completion . 50) |
| 20 | + (overall-completion . 10) |
| 21 | + (components |
| 22 | + ((manifest . 100) |
| 23 | + (directory-structure . 100) |
| 24 | + (flag-database . 0) |
| 25 | + (rescript-core . 0) |
| 26 | + (idris-ffi . 0) |
| 27 | + (ui-popup . 0) |
| 28 | + (ui-sidebar . 0) |
| 29 | + (ui-options . 0) |
| 30 | + (security-integration . 0) |
| 31 | + (containerization . 0))) |
16 | 32 | (working-features . ()))) |
17 | 33 |
|
18 | 34 | (route-to-mvp |
19 | 35 | ((milestones |
20 | | - ((v1.0 . ((items . ("Initial setup" "Core functionality")) |
21 | | - (status . "in-progress"))))))) |
| 36 | + ((v0.1.0-structure |
| 37 | + . ((items . ("Manifest V3 setup" |
| 38 | + "Extension directory structure" |
| 39 | + "rsr-template-repo workflows")) |
| 40 | + (status . "in-progress"))) |
| 41 | + (v0.2.0-core |
| 42 | + . ((items . ("Flag database with safety levels" |
| 43 | + "ReScript core types" |
| 44 | + "Idris FFI integration from proven" |
| 45 | + "WASM optimizations")) |
| 46 | + (status . "pending"))) |
| 47 | + (v0.3.0-ui |
| 48 | + . ((items . ("Browser action popup" |
| 49 | + "Sidebar panel" |
| 50 | + "Options page" |
| 51 | + "Granular permission UI")) |
| 52 | + (status . "pending"))) |
| 53 | + (v0.4.0-features |
| 54 | + . ((items . ("Flag tracking (before/after)" |
| 55 | + "Export reports" |
| 56 | + "DevTools integration" |
| 57 | + "Performance metrics")) |
| 58 | + (status . "pending"))) |
| 59 | + (v0.5.0-security |
| 60 | + . ((items . ("svalin static analysis" |
| 61 | + "vordr runtime verification" |
| 62 | + "selur secrets detection" |
| 63 | + "Security audit")) |
| 64 | + (status . "pending"))) |
| 65 | + (v0.6.0-build |
| 66 | + . ((items . ("cerro-terro containerization" |
| 67 | + "chainguard base images" |
| 68 | + "Guix channel setup" |
| 69 | + "Reproducible builds")) |
| 70 | + (status . "pending"))) |
| 71 | + (v1.0.0-release |
| 72 | + . ((items . ("Mozilla Add-ons submission" |
| 73 | + "Multi-browser testing (Firefox, Librewolf, Waterfox, Pale Moon)" |
| 74 | + "Store listing with screenshots" |
| 75 | + "Privacy policy and documentation")) |
| 76 | + (status . "pending"))))))) |
22 | 77 |
|
23 | 78 | (blockers-and-issues |
24 | 79 | ((critical . ()) |
25 | | - (high . ()) |
26 | | - (medium . ()) |
| 80 | + (high . ("Flag database needs curation - combine Firefox docs + our analysis")) |
| 81 | + (medium . ("Test Pale Moon compatibility (different Gecko version)" |
| 82 | + "Determine WASM module size limits for extension")) |
27 | 83 | (low . ()))) |
28 | 84 |
|
29 | 85 | (critical-next-actions |
30 | | - ((immediate . ()) |
31 | | - (this-week . ()) |
32 | | - (this-month . ()))) |
| 86 | + ((immediate . ("Create flag database schema" |
| 87 | + "Import proven Idris FFI modules" |
| 88 | + "Build ReScript core types for browser flags")) |
| 89 | + (this-week . ("Implement all three UI components" |
| 90 | + "Add granular permission feedback system" |
| 91 | + "Set up flag safety classification")) |
| 92 | + (this-month . ("Complete developer tracking features" |
| 93 | + "Integrate security scanning (svalin/vordr/selur)" |
| 94 | + "Build containerized environment" |
| 95 | + "Test on all target browsers")))) |
| 96 | + |
| 97 | + (session-history |
| 98 | + ((session-1 |
| 99 | + . ((timestamp . "2026-02-04T10:30:00+00:00") |
| 100 | + (accomplishments . ("Backed up old feature flag library code to branch" |
| 101 | + "Reset repo structure for browser extension" |
| 102 | + "Created Manifest V3 configuration" |
| 103 | + "Set up extension directory structure" |
| 104 | + "Synced rsr-template-repo workflows" |
| 105 | + "Updated STATE.scm with new project goals" |
| 106 | + "Created task list (10 tasks)")))))))) |
| 107 | + |
| 108 | +;; Helper functions |
| 109 | +(define (get-completion-percentage state) |
| 110 | + (let ((components (cdr (assoc 'components (cdr (assoc 'current-position state)))))) |
| 111 | + (/ (apply + (map cdr components)) (length components)))) |
| 112 | + |
| 113 | +(define (get-blockers state severity) |
| 114 | + (cdr (assoc severity (cdr (assoc 'blockers-and-issues state))))) |
33 | 115 |
|
34 | | - (session-history . ()))) |
| 116 | +(define (get-milestone state name) |
| 117 | + (assoc name (cdr (assoc 'milestones (cdr (assoc 'route-to-mvp state)))))) |
0 commit comments