Skip to content

Commit c1df842

Browse files
Jonathan D.A. Jewellclaude
andcommitted
RSR standardization: README.adoc, Dublin Core, hooks, workflows
- Add AsciiDoc README with RSR stack policy - Add Dublin Core metadata (.well-known/dc.xml) - Add pre-commit hook (anti-TS/Go/Python/npm) - Add GitHub Actions rsr-antipattern.yml workflow 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1 parent 4f9af58 commit c1df842

3 files changed

Lines changed: 148 additions & 151 deletions

File tree

Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
# RSR Anti-Pattern CI Check
2+
# SPDX-License-Identifier: AGPL-3.0-or-later
3+
#
4+
# Enforces: No TypeScript, No Go, No Python (except SaltStack), No npm
5+
# Allows: ReScript, Deno, WASM, Rust, OCaml, Haskell, Guile/Scheme
6+
7+
name: RSR Anti-Pattern Check
8+
9+
on:
10+
push:
11+
branches: [main, master, develop]
12+
pull_request:
13+
branches: [main, master, develop]
14+
15+
jobs:
16+
antipattern-check:
17+
runs-on: ubuntu-latest
18+
steps:
19+
- uses: actions/checkout@v4
20+
21+
- name: Check for TypeScript
22+
run: |
23+
if find . -name "*.ts" -o -name "*.tsx" | grep -v node_modules | grep -q .; then
24+
echo "❌ TypeScript files detected - use ReScript instead"
25+
find . -name "*.ts" -o -name "*.tsx" | grep -v node_modules
26+
exit 1
27+
fi
28+
echo "✅ No TypeScript files"
29+
30+
- name: Check for Go
31+
run: |
32+
if find . -name "*.go" | grep -q .; then
33+
echo "❌ Go files detected - use Rust/WASM instead"
34+
find . -name "*.go"
35+
exit 1
36+
fi
37+
echo "✅ No Go files"
38+
39+
- name: Check for Python (non-SaltStack)
40+
run: |
41+
PY_FILES=$(find . -name "*.py" | grep -v salt | grep -v _states | grep -v _modules | grep -v pillar | grep -v venv | grep -v __pycache__ || true)
42+
if [ -n "$PY_FILES" ]; then
43+
echo "❌ Python files detected - only allowed for SaltStack"
44+
echo "$PY_FILES"
45+
exit 1
46+
fi
47+
echo "✅ No non-SaltStack Python files"
48+
49+
- name: Check for npm lockfiles
50+
run: |
51+
if [ -f "package-lock.json" ] || [ -f "yarn.lock" ]; then
52+
echo "❌ npm/yarn lockfile detected - use Deno instead"
53+
exit 1
54+
fi
55+
echo "✅ No npm lockfiles"
56+
57+
- name: Check for tsconfig
58+
run: |
59+
if [ -f "tsconfig.json" ]; then
60+
echo "❌ tsconfig.json detected - use ReScript instead"
61+
exit 1
62+
fi
63+
echo "✅ No tsconfig.json"
64+
65+
- name: Verify Deno presence (if package.json exists)
66+
run: |
67+
if [ -f "package.json" ]; then
68+
if [ ! -f "deno.json" ] && [ ! -f "deno.jsonc" ]; then
69+
echo "⚠️ Warning: package.json without deno.json - migration recommended"
70+
fi
71+
fi
72+
echo "✅ Deno configuration check complete"
73+
74+
- name: Summary
75+
run: |
76+
echo "╔════════════════════════════════════════════════════════════╗"
77+
echo "║ RSR Anti-Pattern Check Passed ✅ ║"
78+
echo "║ ║"
79+
echo "║ Allowed: ReScript, Deno, WASM, Rust, OCaml, Haskell, ║"
80+
echo "║ Guile/Scheme, SaltStack (Python) ║"
81+
echo "║ ║"
82+
echo "║ Blocked: TypeScript, Go, npm, Python (non-Salt) ║"
83+
echo "╚════════════════════════════════════════════════════════════╝"

.well-known/dc.xml

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,23 @@
11
<?xml version="1.0" encoding="UTF-8"?>
2-
<metadata xmlns="http://purl.org/dc/elements/1.1/"
3-
xmlns:dcterms="http://purl.org/dc/terms/">
2+
<metadata
3+
xmlns="http://purl.org/dc/elements/1.1/"
4+
xmlns:dcterms="http://purl.org/dc/terms/"
5+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
46
<title>im-docs</title>
5-
<creator>Hyper Polymath</creator>
7+
<creator>Jonathan D.A. Jewell</creator>
8+
<subject>software-development</subject>
69
<subject>RSR</subject>
7-
<description>RSR-compliant project</description>
10+
<subject>Rhodium Standard</subject>
11+
<description>Instant messaging documentation generator</description>
812
<publisher>Rhodium Standard</publisher>
13+
<contributor>Jonathan D.A. Jewell</contributor>
914
<date>2025</date>
1015
<type>Software</type>
16+
<format>application/octet-stream</format>
1117
<identifier>https://github.com/hyperpolymath/im-docs</identifier>
18+
<source>https://github.com/hyperpolymath/im-docs</source>
1219
<language>en</language>
20+
<relation>https://rhodium.sh</relation>
1321
<rights>AGPL-3.0-or-later OR LicenseRef-Palimpsest-0.5</rights>
1422
<dcterms:license>https://spdx.org/licenses/AGPL-3.0-or-later.html</dcterms:license>
15-
<dcterms:hasVersion>0.1.0</dcterms:hasVersion>
16-
<dcterms:isPartOf>RSR Framework</dcterms:isPartOf>
1723
</metadata>

README.adoc

Lines changed: 53 additions & 145 deletions
Original file line numberDiff line numberDiff line change
@@ -1,168 +1,76 @@
1-
= Wayfinder: Epistemic Infrastructure for Journalism
1+
= im-docs
2+
Jonathan D.A. Jewell <jonathan.jewell@gmail.com>
3+
:toc: macro
4+
:icons: font
5+
:source-highlighter: rouge
6+
:experimental:
7+
:url-github: https://github.com/hyperpolymath/im-docs
8+
:url-gitlab: https://gitlab.com/hyperpolymath/im-docs
9+
:url-bitbucket: https://bitbucket.org/hyperpolymath/im-docs
10+
:url-codeberg: https://codeberg.org/hyperpolymath/im-docs
211

3-
*Status*: Conceptual Design → Proof of Concept Development
12+
Instant messaging documentation generator
413

5-
Wayfinder is a heutagogic capability development pathway and interactive journalism framework designed to transform journalism from static truth-claims into navigable knowledge ecosystems.
14+
image:https://img.shields.io/badge/RSR-Certified-gold[RSR Certified]
15+
image:https://img.shields.io/badge/License-AGPL%20v3-blue[License]
616

7-
== The Problem
17+
toc::[]
818

9-
We haven't moved from "Truth to Post-Truth" but from an era where knowledge systems were simpler to one where they're overwhelmed by data velocity. *Data is outpacing knowledge, intelligence, and wisdom.*
19+
== Overview
1020

11-
Traditional journalism says: "Here's what happened."
12-
Wayfinder says: "Here's the evidence ecosystem. Navigate it. Understand how we know."
21+
im-docs is part of the link:https://rhodium.sh[Rhodium Standard] (RSR) ecosystem.
1322

14-
== The Solution
23+
Domain: *software-development*
1524

16-
Wayfinder creates *boundary objects*—interactive investigations that serve different communities while maintaining evidential coherence:
25+
== Installation
1726

18-
- *Activists*: Tool for mobilization
19-
- *Policymakers*: Decision support system
20-
- *Academics*: Research resource
21-
- *Skeptics*: Challenge mechanism
22-
- *Affected Communities*: Validation and voice
23-
- *Journalists*: Living investigation
27+
[source,bash]
28+
----
29+
# Clone from GitHub (primary)
30+
git clone {url-github}
2431
25-
All use the SAME evidence but interpret it for their needs. This enables *coordination without consensus*.
32+
# Or from mirrors
33+
git clone {url-gitlab}
34+
git clone {url-codeberg}
35+
----
2636

27-
== Core Framework: PROMPT
37+
== RSR Stack
2838

29-
Every claim is evaluated across six dimensions:
39+
This project follows RSR conventions:
3040

31-
- *P*rovenance: Who said it? What's their track record?
32-
- *R*elevance: Does this actually address the claim?
33-
- *O*bjectivity: What biases exist? Are they disclosed?
34-
- *M*ethods: How was evidence gathered? Is it sound?
35-
- *P*erspective: What viewpoints are represented? What's missing?
36-
- *T*imeliness: Is this current? Has it been superseded?
41+
* ✅ ReScript for frontend/logic
42+
* ✅ Deno for JS runtime
43+
* ✅ WASM for performance-critical code
44+
* ✅ Rust/OCaml/Haskell for systems/proofs
45+
* ✅ Guile/Scheme for configuration
46+
* ❌ No TypeScript
47+
* ❌ No Go
48+
* ❌ No npm
3749

38-
== Knowledge Pipeline: Data → Knowledge → Intelligence → Wisdom
50+
== Mirrors
3951

40-
Traditional journalism conflates all four. Wayfinder separates and makes each navigable:
52+
[cols="1,2"]
53+
|===
54+
| Platform | URL
4155

42-
1. *Data Layer*: Raw evidence, fully accessible
43-
2. *Knowledge Layer*: Structured claims with PROMPT analysis
44-
3. *Intelligence Layer*: Pattern recognition, contradiction identification
45-
4. *Wisdom Layer*: Practical reasoning for decision-making
46-
47-
== For Demoralized Journalists
48-
49-
> "You're not obsolete. You're needed more than ever—but as Wayfinders, not gatekeepers. People need guides who show them HOW to navigate complexity, not just WHAT to believe."
50-
51-
=== The Learning Pathway
52-
53-
Self-directed, result-focused capability development:
54-
55-
- *Level 1* (4-8 hours): Evidence Mapper - Map one claim's evidence using PROMPT
56-
- *Level 2A* (8-12 hours): Process Documentarian - Show your methodology transparently
57-
- *Level 2B* (6-10 hours): Uncertainty Communicator - Replace false certainty with honest uncertainty
58-
- *Level 3* (20-40 hours): Knowledge Architect - Create full interactive investigation
59-
- *Level 4* (Ongoing): Epistemic Infrastructure Builder - Build tools, teach others
60-
61-
Each level produces *usable professional outputs*, not just learning badges.
62-
63-
== Quick Start
64-
65-
=== For Beta Testers (Journalists)
66-
67-
1. *Read*: [claude.md](./claude.md) for full context
68-
2. *Try*: Level 1 Evidence Mapping (4 hours)
69-
- Choose one claim you're currently reporting
70-
- Apply PROMPT framework to evaluate evidence
71-
- See immediate value in your work
72-
3. *Decide*: Continue or not (no pressure)
73-
74-
=== For Academic Partners
75-
76-
- *PhD Integration*: This research can be dissertation work
77-
- *Curriculum Development*: Level 1-3 as journalism course modules
78-
- *Research Questions*: Measuring impact on comprehension, trust, behavior change
79-
80-
=== For Developers
81-
82-
- *Phase 1* (NOW): Obsidian/TiddlyWiki/Notion prototypes
83-
- *Phase 2* (3-9 months): SvelteKit + PostgreSQL + graph database custom platform
84-
- *Phase 3* (9-18 months): Ecosystem building, community tools
85-
86-
== Theoretical Foundations
87-
88-
=== Boundary Objects (Susan Leigh Star)
89-
Objects that maintain coherence across communities while adapting to local needs, enabling coordination without consensus.
90-
91-
=== Cognitive Science Integration
92-
- Progressive disclosure (avoid cognitive overload)
93-
- Meta-cognitive prompts (make thinking visible)
94-
- Empathy-first contradictory evidence (reduce defensiveness)
95-
- Transparent navigation analytics (show exploration patterns)
96-
97-
=== Bio-Psycho-Social-Technical Systems
98-
Designed considering biological attention limits, psychological identity protection, social collective sense-making, and technical accessibility requirements.
99-
100-
== Project Status
101-
102-
=== Completed
103-
- ✅ Conceptual framework (PROMPT, boundary objects, heutagogic design)
104-
- ✅ Four-level capability pathway design
105-
- ✅ Cognitive science integration
106-
- ✅ SWOT analysis
107-
- ✅ Technical architecture planning
108-
109-
=== In Progress
110-
- 🔄 Level 1 materials development
111-
- 🔄 Evidence mapping templates
112-
- 🔄 First example investigation
113-
114-
=== Next Steps (Week 1-4)
115-
- Week 1: Document Level 1 pathway, create evidence mapping template, build one example
116-
- Week 2: Share with 3 journalist friends for feedback
117-
- Week 3: Build simple website (GitLab Pages)
118-
- Week 4: First 5-10 participants start Level 1
119-
120-
== Key Documents
121-
122-
- *[claude.md](./claude.md)*: Comprehensive project documentation for AI assistants
123-
- *[CONTRIBUTING.md](./CONTRIBUTING.md)*: How to contribute to Wayfinder
124-
- *[CODE_OF_CONDUCT.md](./CODE_OF_CONDUCT.md)*: Community standards
125-
- *[SECURITY.md](./SECURITY.md)*: Security and transparency policies
126-
127-
== Contact & Collaboration
128-
129-
*Looking For*:
130-
- Beta-testing journalists (especially demoralized ones!)
131-
- Academic partners (journalism schools, media studies)
132-
- Funders (Knight Foundation, Omidyar Network, European Media & Information Fund)
133-
- Developers (SvelteKit, PostgreSQL, D3.js)
134-
- i-Docs practitioners
135-
- Cognitive scientists interested in epistemic interfaces
136-
137-
*Philosophy*: Build in public, open source from day one, collaborative not competitive.
56+
| GitHub (primary) | {url-github}
57+
| GitLab | {url-gitlab}
58+
| Bitbucket | {url-bitbucket}
59+
| Codeberg | {url-codeberg}
60+
|===
13861

13962
== License
14063

141-
This project is dual-licensed:
142-
- MIT License (for maximum compatibility and adoption)
143-
- Palimpsest License v0.8 (for values alignment and ethical use)
144-
145-
See [LICENSE.txt](./LICENSE.txt) for full details.
146-
147-
== Acknowledgments
64+
Licensed under AGPL-3.0-or-later OR LicenseRef-Palimpsest-0.5.
14865

149-
=== Intellectual Foundations
150-
- *Nico Carpentier*: Participatory communication theory, PhD supervision
151-
- *Susan Leigh Star*: Boundary objects theory
152-
- *i-Docs Research Network*: Interactive documentary frameworks
153-
- *National Union of Journalists (NUJ)*: Professional journalism practice insights
66+
See link:LICENSE[LICENSE] for details.
15467

155-
=== Inspiration
156-
- Interactive documentaries: Out My Window, Hollow, Welcome to Pine Point, Prison Valley
157-
- Tools: Korsakow (non-linear documentary), Klynt, Obsidian, TiddlyWiki
158-
- Cognitive science: Cowan, Schwartz, Kahan, Nickerson
159-
- Epistemology: Wittgenstein (late work on language games), Dempster-Shafer theory
160-
- Media theory: De Man, Derrida (irony), David Foster Wallace (New Sincerity)
68+
== Contributing
16169

162-
---
70+
See link:CONTRIBUTING.adoc[CONTRIBUTING.adoc].
16371

164-
*Version*: 0.1.0-alpha
165-
*Last Updated*: 2025-11-23
166-
*Status*: Pre-release conceptual design
72+
== Metadata
16773

168-
*For AI assistants: See [claude.md](./claude.md) for full context and implementation details.*
74+
* Domain: software-development
75+
* Framework: RSR (Rhodium Standard Repository)
76+
* Dublin Core: link:.well-known/dc.xml[.well-known/dc.xml]

0 commit comments

Comments
 (0)