|
1 | | -;;; STATE.scm — Wayfinder: Epistemic Infrastructure for Journalism |
2 | | -;;; Checkpoint/restore state for AI-assisted development |
3 | | -;;; Format: Guile Scheme s-expressions |
4 | | -;;; Version: 0.1.0 |
| 1 | +;;; STATE.scm — im-docs |
| 2 | +;; SPDX-License-Identifier: AGPL-3.0-or-later |
| 3 | +;; SPDX-FileCopyrightText: 2025 Jonathan D.A. Jewell |
5 | 4 |
|
6 | | -;;;============================================================================ |
7 | | -;;; METADATA |
8 | | -;;;============================================================================ |
| 5 | +(define metadata |
| 6 | + '((version . "0.1.0") (updated . "2025-12-15") (project . "im-docs"))) |
9 | 7 |
|
10 | | -(define-state metadata |
11 | | - (format-version "0.1.0") |
12 | | - (created "2025-12-08") |
13 | | - (updated "2025-12-08") |
14 | | - (project-name "Wayfinder") |
15 | | - (project-version "0.1.0-alpha") |
16 | | - (repository "https://github.com/hyperpolymath/im-docs")) |
| 8 | +(define current-position |
| 9 | + '((phase . "v0.1 - Initial Setup") |
| 10 | + (overall-completion . 25) |
| 11 | + (components ((rsr-compliance ((status . "complete") (completion . 100))))))) |
17 | 12 |
|
18 | | -;;;============================================================================ |
19 | | -;;; USER CONTEXT |
20 | | -;;;============================================================================ |
| 13 | +(define blockers-and-issues '((critical ()) (high-priority ()))) |
21 | 14 |
|
22 | | -(define-state user-context |
23 | | - (name "hyperpolymath") |
24 | | - (roles |
25 | | - ("PhD candidate" . "under Nico Carpentier") |
26 | | - ("journalist" . "NUJ member") |
27 | | - ("project lead" . "Wayfinder")) |
28 | | - (constraints |
29 | | - (time "PhD completion priority") |
30 | | - (energy "burnout risk acknowledged")) |
31 | | - (values |
32 | | - ("epistemic humility" . "we can be wrong") |
33 | | - ("transparency" . "show the work") |
34 | | - ("democratic accessibility" . "knowledge for all") |
35 | | - ("epistemic justice" . "multiple valid ways of knowing")) |
36 | | - (tool-preferences |
37 | | - (editor "unspecified") |
38 | | - (platform-candidates "Obsidian" "TiddlyWiki" "Notion") |
39 | | - (tech-stack-planned "SvelteKit" "PostgreSQL" "D3.js" "Python/FastAPI"))) |
| 15 | +(define critical-next-actions |
| 16 | + '((immediate (("Verify CI/CD" . high))) (this-week (("Expand tests" . medium))))) |
40 | 17 |
|
41 | | -;;;============================================================================ |
42 | | -;;; CURRENT POSITION |
43 | | -;;;============================================================================ |
| 18 | +(define session-history |
| 19 | + '((snapshots ((date . "2025-12-15") (session . "initial") (notes . "SCM files added"))))) |
44 | 20 |
|
45 | | -(define-state current-position |
46 | | - (phase "Phase 1: Proof of Concept") |
47 | | - (status "documentation-complete, implementation-pending") |
48 | | - (what-exists |
49 | | - ("Comprehensive conceptual framework" . complete) |
50 | | - ("PROMPT framework (6-dimension claim evaluation)" . complete) |
51 | | - ("Four-level heutagogic learning pathway" . complete) |
52 | | - ("Cognitive science integration" . complete) |
53 | | - ("SWOT analysis" . complete) |
54 | | - ("Complete governance model" . complete) |
55 | | - ("RSR compliance (Bronze+ level)" . complete) |
56 | | - ("Repository infrastructure" . complete) |
57 | | - ("GitHub Actions CI/CD" . complete)) |
58 | | - (what-does-not-exist |
59 | | - ("Level 1 training materials" . needed-for-mvp) |
60 | | - ("Evidence mapping templates" . needed-for-mvp) |
61 | | - ("PROMPT worksheets" . needed-for-mvp) |
62 | | - ("First example investigation" . needed-for-mvp) |
63 | | - ("Website (even simple)" . needed-for-mvp) |
64 | | - ("Beta testers" . needed-for-mvp) |
65 | | - ("Working software" . phase-2) |
66 | | - ("Custom platform" . phase-2) |
67 | | - ("Business model" . unresolved))) |
68 | | - |
69 | | -;;;============================================================================ |
70 | | -;;; ROUTE TO MVP v1 |
71 | | -;;;============================================================================ |
72 | | - |
73 | | -(define-state mvp-route |
74 | | - (target "Proof of Concept with 5-10 journalist beta testers") |
75 | | - (timeline "4 weeks from start") |
76 | | - |
77 | | - (week-1 |
78 | | - (goal "Foundation materials") |
79 | | - (tasks |
80 | | - ("Document Level 1 pathway in detail" . pending) |
81 | | - ("Create evidence mapping template" . pending) |
82 | | - ("Create PROMPT worksheet template" . pending) |
83 | | - ("Build one complete example investigation" . pending))) |
84 | | - |
85 | | - (week-2 |
86 | | - (goal "Initial validation") |
87 | | - (tasks |
88 | | - ("Share with 3 journalist friends for feedback" . pending) |
89 | | - ("Iterate based on feedback" . pending) |
90 | | - ("Refine Level 1 materials" . pending))) |
91 | | - |
92 | | - (week-3 |
93 | | - (goal "Public presence") |
94 | | - (tasks |
95 | | - ("Build simple website (GitLab/GitHub Pages)" . pending) |
96 | | - ("Create signup mechanism for beta testers" . pending) |
97 | | - ("Prepare onboarding materials" . pending))) |
98 | | - |
99 | | - (week-4 |
100 | | - (goal "Beta launch") |
101 | | - (tasks |
102 | | - ("Recruit first 5-10 participants" . pending) |
103 | | - ("Begin Level 1 pilot" . pending) |
104 | | - ("Collect structured feedback" . pending))) |
105 | | - |
106 | | - (mvp-success-criteria |
107 | | - ("5-10 journalists complete Level 1" . measurable) |
108 | | - ("Each produces one evidence-mapped claim" . tangible-output) |
109 | | - ("Feedback validates core value proposition" . qualitative) |
110 | | - ("Clear signal on whether to proceed to Phase 2" . go/no-go))) |
111 | | - |
112 | | -;;;============================================================================ |
113 | | -;;; KNOWN ISSUES & BLOCKERS |
114 | | -;;;============================================================================ |
115 | | - |
116 | | -(define-state issues |
117 | | - (critical |
118 | | - ((id . "ISS-001") |
119 | | - (title . "No example investigation exists") |
120 | | - (impact . "Cannot demonstrate value proposition without concrete example") |
121 | | - (status . blocked) |
122 | | - (blocker . "Need to choose which complex story to use") |
123 | | - (action . "Decide on first investigation topic")) |
124 | | - |
125 | | - ((id . "ISS-002") |
126 | | - (title . "Platform decision unmade") |
127 | | - (impact . "Cannot create materials without knowing where they live") |
128 | | - (status . blocked) |
129 | | - (blocker . "Obsidian vs TiddlyWiki vs Notion evaluation incomplete") |
130 | | - (action . "Make platform decision for Phase 1"))) |
131 | | - |
132 | | - (high |
133 | | - ((id . "ISS-003") |
134 | | - (title . "No beta tester recruitment strategy") |
135 | | - (impact . "MVP requires 5-10 journalists; no plan to find them") |
136 | | - (status . open) |
137 | | - (action . "Define recruitment channels and pitch")) |
138 | | - |
139 | | - ((id . "ISS-004") |
140 | | - (title . "Success metrics undefined") |
141 | | - (impact . "Cannot evaluate MVP success without clear metrics") |
142 | | - (status . open) |
143 | | - (action . "Define what 'success' means quantitatively and qualitatively"))) |
144 | | - |
145 | | - (medium |
146 | | - ((id . "ISS-005") |
147 | | - (title . "Production cost is 10x traditional journalism") |
148 | | - (impact . "Adoption barrier for time-pressed journalists") |
149 | | - (status . acknowledged) |
150 | | - (mitigation . "Level 1 designed to be minimal viable effort")) |
151 | | - |
152 | | - ((id . "ISS-006") |
153 | | - (title . "No business model") |
154 | | - (impact . "Long-term sustainability unclear") |
155 | | - (status . deferred) |
156 | | - (rationale . "Focus on proving value before monetization"))) |
157 | | - |
158 | | - (risks |
159 | | - ((id . "RISK-001") |
160 | | - (title . "Burnout") |
161 | | - (description . "Solo PhD candidate with competing priorities") |
162 | | - (mitigation . "Strict scope control; MVP-first mentality")) |
163 | | - |
164 | | - ((id . "RISK-002") |
165 | | - (title . "Scope creep") |
166 | | - (description . "Framework is intellectually rich; temptation to add complexity") |
167 | | - (mitigation . "Ruthless prioritization; 4-week hard deadline")) |
168 | | - |
169 | | - ((id . "RISK-003") |
170 | | - (title . "Perfectionism trap") |
171 | | - (description . "Can't launch until perfect") |
172 | | - (mitigation . "Good enough is good enough for MVP")))) |
173 | | - |
174 | | -;;;============================================================================ |
175 | | -;;; QUESTIONS FOR USER |
176 | | -;;;============================================================================ |
177 | | - |
178 | | -(define-state questions |
179 | | - (decisions-needed |
180 | | - ((id . "Q-001") |
181 | | - (question . "Which complex story will you use for the first example investigation?") |
182 | | - (context . "Needs to demonstrate PROMPT framework value without being too controversial for initial testing") |
183 | | - (constraints . "Should be accessible, documentable, and have rich evidence ecosystem") |
184 | | - (options . ("Recent investigative piece you've worked on" |
185 | | - "Classic case study (e.g., Theranos, COVID origins)" |
186 | | - "Ongoing story you're actively researching"))) |
187 | | - |
188 | | - ((id . "Q-002") |
189 | | - (question . "What platform for Phase 1 materials?") |
190 | | - (context . "Need somewhere to host Level 1 pathway, templates, and example investigation") |
191 | | - (options . (("Obsidian" . "Local-first, markdown, graph view, but requires app install") |
192 | | - ("TiddlyWiki" . "Single HTML file, extremely portable, steep learning curve") |
193 | | - ("Notion" . "Easy to share, collaborative, but proprietary") |
194 | | - ("Plain GitHub Pages" . "Simple, version controlled, accessible"))) |
195 | | - (recommendation . "GitHub Pages for maximum accessibility in MVP")) |
196 | | - |
197 | | - ((id . "Q-003") |
198 | | - (question . "How will you recruit the first 5-10 beta testers?") |
199 | | - (context . "Need working journalists willing to spend 4-8 hours on Level 1") |
200 | | - (options . ("NUJ network and contacts" |
201 | | - "Academic journalism department connections" |
202 | | - "Social media (journalism Twitter/Mastodon)" |
203 | | - "Direct outreach to journalists whose work you admire"))) |
204 | | - |
205 | | - ((id . "Q-004") |
206 | | - (question . "What does MVP success look like to you?") |
207 | | - (context . "Need clear go/no-go criteria for Phase 2") |
208 | | - (suggested-metrics . (("Completion rate" . ">50% of beta testers finish Level 1") |
209 | | - ("Output quality" . "Peer assessment of evidence maps") |
210 | | - ("NPS score" . "Would recommend to colleague") |
211 | | - ("Qualitative" . "3+ testimonials about value"))))) |
212 | | - |
213 | | - (clarifications-needed |
214 | | - ((id . "Q-005") |
215 | | - (question . "What's your PhD timeline?") |
216 | | - (context . "Need to understand time constraints and how Wayfinder fits")) |
217 | | - |
218 | | - ((id . "Q-006") |
219 | | - (question . "Are there existing journalist contacts you could approach this week?") |
220 | | - (context . "Week 2 requires feedback from 3 journalists")))) |
221 | | - |
222 | | -;;;============================================================================ |
223 | | -;;; LONG-TERM ROADMAP |
224 | | -;;;============================================================================ |
225 | | - |
226 | | -(define-state roadmap |
227 | | - (phase-1 |
228 | | - (name . "Proof of Concept") |
229 | | - (duration . "Weeks 1-4") |
230 | | - (status . in-progress) |
231 | | - (goal . "Validate core value proposition with minimal viable materials") |
232 | | - (deliverables |
233 | | - ("Level 1 materials" . "Evidence mapping templates, PROMPT worksheets") |
234 | | - ("First example investigation" . "Complete evidence ecosystem demonstration") |
235 | | - ("Simple website" . "GitHub/GitLab Pages") |
236 | | - ("Beta cohort" . "5-10 journalists through Level 1")) |
237 | | - (success-criteria |
238 | | - ("Journalists find value in evidence mapping approach") |
239 | | - ("Materials are usable without extensive support") |
240 | | - ("Clear signal on whether to continue"))) |
241 | | - |
242 | | - (phase-2 |
243 | | - (name . "Custom Platform") |
244 | | - (duration . "Months 3-9") |
245 | | - (status . planned) |
246 | | - (goal . "Build dedicated tooling for evidence mapping and PROMPT analysis") |
247 | | - (tech-stack |
248 | | - (backend . "Python (FastAPI or Django)") |
249 | | - (database . "PostgreSQL") |
250 | | - (cache . "Redis") |
251 | | - (storage . "MinIO") |
252 | | - (frontend . "SvelteKit") |
253 | | - (styling . "TailwindCSS") |
254 | | - (visualization . "D3.js") |
255 | | - (container . "Podman") |
256 | | - (hosting . "Self-hosted or Hetzner (EU data sovereignty)")) |
257 | | - (deliverables |
258 | | - ("Evidence mapping interface" . "Visual tool for claim-evidence relationships") |
259 | | - ("PROMPT analysis tool" . "Structured evaluation interface") |
260 | | - ("Collaborative features" . "Multiple journalists on same investigation") |
261 | | - ("Export capabilities" . "Generate publishable outputs")) |
262 | | - (dependencies |
263 | | - ("Phase 1 success" . "Must validate approach before building") |
264 | | - ("Clear UX patterns" . "Learned from Phase 1 feedback"))) |
265 | | - |
266 | | - (phase-3 |
267 | | - (name . "Ecosystem Building") |
268 | | - (duration . "Months 9-12") |
269 | | - (status . planned) |
270 | | - (goal . "Build community and establish Wayfinder as methodology") |
271 | | - (deliverables |
272 | | - ("Training program" . "All 4 capability levels documented and tested") |
273 | | - ("Community infrastructure" . "Forum, Discord, or similar") |
274 | | - ("Case study library" . "Multiple example investigations") |
275 | | - ("Academic integration" . "Published research on methodology")) |
276 | | - (partnerships |
277 | | - ("Journalism schools" . "Curriculum integration") |
278 | | - ("News organizations" . "Pilot programs") |
279 | | - ("Academic institutions" . "Research collaboration"))) |
280 | | - |
281 | | - (phase-4 |
282 | | - (name . "Scaling & Sustainability") |
283 | | - (duration . "Months 12-18+") |
284 | | - (status . vision) |
285 | | - (goal . "Sustainable operation and widespread adoption") |
286 | | - (business-model-candidates |
287 | | - ("Foundation funding" . "Journalism/democracy grants") |
288 | | - ("Institutional licensing" . "News organizations, universities") |
289 | | - ("Training revenue" . "Workshops and certification") |
290 | | - ("Consulting" . "Implementation support")) |
291 | | - (success-vision |
292 | | - ("Wayfinder becomes standard methodology for complex investigations") |
293 | | - ("Network of trained Wayfinder journalists") |
294 | | - ("Self-sustaining organization") |
295 | | - ("Measurable impact on public epistemics")))) |
296 | | - |
297 | | -;;;============================================================================ |
298 | | -;;; CRITICAL NEXT ACTIONS |
299 | | -;;;============================================================================ |
300 | | - |
301 | | -(define-state next-actions |
302 | | - (immediate |
303 | | - ((priority . 1) |
304 | | - (action . "Decide on first investigation topic") |
305 | | - (blocker-for . "ISS-001") |
306 | | - (owner . "user") |
307 | | - (deadline . "This week")) |
308 | | - |
309 | | - ((priority . 2) |
310 | | - (action . "Choose Phase 1 platform") |
311 | | - (blocker-for . "ISS-002") |
312 | | - (owner . "user") |
313 | | - (recommendation . "GitHub Pages") |
314 | | - (deadline . "This week")) |
315 | | - |
316 | | - ((priority . 3) |
317 | | - (action . "Create Level 1 evidence mapping template") |
318 | | - (owner . "claude + user") |
319 | | - (depends-on . "Platform decision") |
320 | | - (deadline . "Week 1")) |
321 | | - |
322 | | - ((priority . 4) |
323 | | - (action . "Create PROMPT worksheet template") |
324 | | - (owner . "claude + user") |
325 | | - (depends-on . "Platform decision") |
326 | | - (deadline . "Week 1"))) |
327 | | - |
328 | | - (this-week |
329 | | - ("Define success metrics for MVP" . "Q-004") |
330 | | - ("Identify 3 journalists for Week 2 feedback" . "Q-003") |
331 | | - ("Draft Level 1 pathway document" . "Week 1 deliverable")) |
332 | | - |
333 | | - (blocked-until-decisions |
334 | | - ("Build example investigation" . "Needs topic decision (Q-001)") |
335 | | - ("Create template files" . "Needs platform decision (Q-002)") |
336 | | - ("Begin recruitment" . "Needs beta tester strategy (Q-003)"))) |
337 | | - |
338 | | -;;;============================================================================ |
339 | | -;;; SESSION CONTEXT |
340 | | -;;;============================================================================ |
341 | | - |
342 | | -(define-state session-context |
343 | | - (last-session "2025-12-08") |
344 | | - (conversation-summary |
345 | | - "Created STATE.scm checkpoint file documenting current position, |
346 | | - MVP route, issues, questions, and long-term roadmap for Wayfinder project.") |
347 | | - (key-decisions-made |
348 | | - ("Acknowledged documentation phase is complete") |
349 | | - ("Identified critical blockers for MVP")) |
350 | | - (handoff-notes |
351 | | - "Project is well-documented but pre-implementation. |
352 | | - User needs to make 4 key decisions (Q-001 through Q-004) before |
353 | | - substantive development work can begin. |
354 | | - Recommend starting next session by addressing the questions.")) |
355 | | - |
356 | | -;;; end STATE.scm |
| 21 | +(define state-summary |
| 22 | + '((project . "im-docs") (completion . 25) (blockers . 0) (updated . "2025-12-15"))) |
0 commit comments