arscontexta 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (418) hide show
  1. package/.claude-plugin/marketplace.json +11 -0
  2. package/.claude-plugin/plugin.json +22 -0
  3. package/README.md +683 -0
  4. package/agents/knowledge-guide.md +49 -0
  5. package/bin/cli.mjs +66 -0
  6. package/generators/agents-md.md +240 -0
  7. package/generators/claude-md.md +379 -0
  8. package/generators/features/atomic-notes.md +124 -0
  9. package/generators/features/ethical-guardrails.md +58 -0
  10. package/generators/features/graph-analysis.md +188 -0
  11. package/generators/features/helper-functions.md +92 -0
  12. package/generators/features/maintenance.md +164 -0
  13. package/generators/features/methodology-knowledge.md +70 -0
  14. package/generators/features/mocs.md +144 -0
  15. package/generators/features/multi-domain.md +61 -0
  16. package/generators/features/personality.md +71 -0
  17. package/generators/features/processing-pipeline.md +428 -0
  18. package/generators/features/schema.md +149 -0
  19. package/generators/features/self-evolution.md +229 -0
  20. package/generators/features/self-space.md +78 -0
  21. package/generators/features/semantic-search.md +99 -0
  22. package/generators/features/session-rhythm.md +85 -0
  23. package/generators/features/templates.md +85 -0
  24. package/generators/features/wiki-links.md +88 -0
  25. package/generators/soul-md.md +121 -0
  26. package/hooks/hooks.json +45 -0
  27. package/hooks/scripts/auto-commit.sh +44 -0
  28. package/hooks/scripts/session-capture.sh +35 -0
  29. package/hooks/scripts/session-orient.sh +86 -0
  30. package/hooks/scripts/write-validate.sh +42 -0
  31. package/methodology/AI shifts knowledge systems from externalizing memory to externalizing attention.md +59 -0
  32. package/methodology/BM25 retrieval fails on full-length descriptions because query term dilution reduces match scores.md +39 -0
  33. package/methodology/IBIS framework maps claim-based architecture to structured argumentation.md +58 -0
  34. package/methodology/LLM attention degrades as context fills.md +49 -0
  35. package/methodology/MOC construction forces synthesis that automated generation from metadata cannot replicate.md +49 -0
  36. package/methodology/MOC maintenance investment compounds because orientation savings multiply across every future session.md +41 -0
  37. package/methodology/MOCs are attention management devices not just organizational tools.md +51 -0
  38. package/methodology/PKM failure follows a predictable cycle.md +50 -0
  39. package/methodology/ThreadMode to DocumentMode transformation is the core value creation step.md +52 -0
  40. package/methodology/WIP limits force processing over accumulation.md +53 -0
  41. package/methodology/Zeigarnik effect validates capture-first philosophy because open loops drain attention.md +42 -0
  42. package/methodology/academic research uses structured extraction with cross-source synthesis.md +566 -0
  43. package/methodology/adapt the four-phase processing pipeline to domain-specific throughput needs.md +197 -0
  44. package/methodology/agent notes externalize navigation intuition that search cannot discover and traversal cannot reconstruct.md +48 -0
  45. package/methodology/agent self-memory should be architecturally separate from user knowledge systems.md +48 -0
  46. package/methodology/agent session boundaries create natural automation checkpoints that human-operated systems lack.md +56 -0
  47. package/methodology/agent-cognition.md +107 -0
  48. package/methodology/agents are simultaneously methodology executors and subjects creating a unique trust asymmetry.md +66 -0
  49. package/methodology/aspect-oriented programming solved the same cross-cutting concern problem that hooks solve.md +39 -0
  50. package/methodology/associative ontologies beat hierarchical taxonomies because heterarchy adapts while hierarchy brittles.md +53 -0
  51. package/methodology/attention residue may have a minimum granularity that cannot be subdivided.md +46 -0
  52. package/methodology/auto-commit hooks eliminate prospective memory failures by converting remember-to-act into guaranteed execution.md +47 -0
  53. package/methodology/automated detection is always safe because it only reads state while automated remediation risks content corruption.md +42 -0
  54. package/methodology/automation should be retired when its false positive rate exceeds its true positive rate or it catches zero issues.md +56 -0
  55. package/methodology/backlinks implicitly define notes by revealing usage context.md +35 -0
  56. package/methodology/backward maintenance asks what would be different if written today.md +62 -0
  57. package/methodology/balance onboarding enforcement and questions to prevent premature complexity.md +229 -0
  58. package/methodology/basic level categorization determines optimal MOC granularity.md +51 -0
  59. package/methodology/batching by context similarity reduces switching costs in agent processing.md +43 -0
  60. package/methodology/behavioral anti-patterns matter more than tool selection.md +42 -0
  61. package/methodology/betweenness centrality identifies bridge notes connecting disparate knowledge domains.md +57 -0
  62. package/methodology/blueprints that teach construction outperform downloads that provide pre-built code for platform-dependent modules.md +42 -0
  63. package/methodology/bootstrapping principle enables self-improving systems.md +62 -0
  64. package/methodology/build automatic memory through cognitive offloading and session handoffs.md +285 -0
  65. package/methodology/capture the reaction to content not just the content itself.md +41 -0
  66. package/methodology/claims must be specific enough to be wrong.md +36 -0
  67. package/methodology/closure rituals create clean breaks that prevent attention residue bleed.md +44 -0
  68. package/methodology/cognitive offloading is the architectural foundation for vault design.md +46 -0
  69. package/methodology/cognitive outsourcing risk in agent-operated systems.md +55 -0
  70. package/methodology/coherence maintains consistency despite inconsistent inputs.md +96 -0
  71. package/methodology/coherent architecture emerges from wiki links spreading activation and small-world topology.md +48 -0
  72. package/methodology/community detection algorithms can inform when MOCs should split or merge.md +52 -0
  73. package/methodology/complete navigation requires four complementary types that no single mechanism provides.md +43 -0
  74. package/methodology/complex systems evolve from simple working systems.md +59 -0
  75. package/methodology/composable knowledge architecture builds systems from independent toggleable modules not monolithic templates.md +61 -0
  76. package/methodology/compose multi-domain systems through separate templates and shared graph.md +372 -0
  77. package/methodology/concept-orientation beats source-orientation for cross-domain connections.md +51 -0
  78. package/methodology/confidence thresholds gate automated action between the mechanical and judgment zones.md +50 -0
  79. package/methodology/configuration dimensions interact so choices in one create pressure on others.md +58 -0
  80. package/methodology/configuration paralysis emerges when derivation surfaces too many decisions.md +44 -0
  81. package/methodology/context files function as agent operating systems through self-referential self-extension.md +46 -0
  82. package/methodology/context phrase clarity determines how deep a navigation hierarchy can scale.md +46 -0
  83. package/methodology/continuous small-batch processing eliminates review dread.md +48 -0
  84. package/methodology/controlled disorder engineers serendipity through semantic rather than topical linking.md +51 -0
  85. package/methodology/creative writing uses worldbuilding consistency with character tracking.md +672 -0
  86. package/methodology/cross-links between MOC territories indicate creative leaps and integration depth.md +43 -0
  87. package/methodology/dangling links reveal which notes want to exist.md +62 -0
  88. package/methodology/data exit velocity measures how quickly content escapes vendor lock-in.md +74 -0
  89. package/methodology/decontextualization risk means atomicity may strip meaning that cannot be recovered.md +48 -0
  90. package/methodology/dense interlinked research claims enable derivation while sparse references only enable templating.md +47 -0
  91. package/methodology/dependency resolution through topological sort makes module composition transparent and verifiable.md +56 -0
  92. package/methodology/derivation generates knowledge systems from composable research claims not template customization.md +63 -0
  93. package/methodology/derivation-engine.md +27 -0
  94. package/methodology/derived systems follow a seed-evolve-reseed lifecycle.md +56 -0
  95. package/methodology/description quality for humans diverges from description quality for keyword search.md +73 -0
  96. package/methodology/descriptions are retrieval filters not summaries.md +112 -0
  97. package/methodology/design MOCs as attention management devices with lifecycle governance.md +318 -0
  98. package/methodology/design-dimensions.md +66 -0
  99. package/methodology/digital mutability enables note evolution that physical permanence forbids.md +54 -0
  100. package/methodology/discovery-retrieval.md +48 -0
  101. package/methodology/distinctiveness scoring treats description quality as measurable.md +69 -0
  102. package/methodology/does agent processing recover what fast capture loses.md +43 -0
  103. package/methodology/domain-compositions.md +37 -0
  104. package/methodology/dual-coding with visual elements could enhance agent traversal.md +55 -0
  105. package/methodology/each module must be describable in one sentence under 200 characters or it does too many things.md +45 -0
  106. package/methodology/each new note compounds value by creating traversal paths.md +55 -0
  107. package/methodology/eight configuration dimensions parameterize the space of possible knowledge systems.md +56 -0
  108. package/methodology/elaborative encoding is the quality gate for new notes.md +55 -0
  109. package/methodology/enforce schema with graduated strictness across capture processing and query zones.md +221 -0
  110. package/methodology/enforcing atomicity can create paralysis when ideas resist decomposition.md +43 -0
  111. package/methodology/engineering uses technical decision tracking with architectural memory.md +766 -0
  112. package/methodology/every knowledge domain shares a four-phase processing skeleton that diverges only in the process step.md +53 -0
  113. package/methodology/evolution observations provide actionable signals for system adaptation.md +67 -0
  114. package/methodology/external memory shapes cognition more than base model.md +60 -0
  115. package/methodology/faceted classification treats notes as multi-dimensional objects rather than folder contents.md +65 -0
  116. package/methodology/failure-modes.md +27 -0
  117. package/methodology/false universalism applies same processing logic regardless of domain.md +49 -0
  118. package/methodology/federated wiki pattern enables multi-agent divergence as feature not bug.md +59 -0
  119. package/methodology/flat files break at retrieval scale.md +75 -0
  120. package/methodology/forced engagement produces weak connections.md +48 -0
  121. package/methodology/four abstraction layers separate platform-agnostic from platform-dependent knowledge system features.md +47 -0
  122. package/methodology/fresh context per task preserves quality better than chaining phases.md +44 -0
  123. package/methodology/friction reveals architecture.md +63 -0
  124. package/methodology/friction-driven module adoption prevents configuration debt by adding complexity only at pain points.md +48 -0
  125. package/methodology/gardening cycle implements tend prune fertilize operations.md +41 -0
  126. package/methodology/generation effect gate blocks processing without transformation.md +40 -0
  127. package/methodology/goal-driven memory orchestration enables autonomous domain learning through directed compute allocation.md +41 -0
  128. package/methodology/good descriptions layer heuristic then mechanism then implication.md +57 -0
  129. package/methodology/graph-structure.md +65 -0
  130. package/methodology/guided notes might outperform post-hoc structuring for high-volume capture.md +37 -0
  131. package/methodology/health wellness uses symptom-trigger correlation with multi-dimensional tracking.md +819 -0
  132. package/methodology/hook composition creates emergent methodology from independent single-concern components.md +47 -0
  133. package/methodology/hook enforcement guarantees quality while instruction enforcement merely suggests it.md +51 -0
  134. package/methodology/hook-driven learning loops create self-improving methodology through observation accumulation.md +62 -0
  135. package/methodology/hooks are the agent habit system that replaces the missing basal ganglia.md +40 -0
  136. package/methodology/hooks cannot replace genuine cognitive engagement yet more automation is always tempting.md +87 -0
  137. package/methodology/hooks enable context window efficiency by delegating deterministic checks to external processes.md +47 -0
  138. package/methodology/idempotent maintenance operations are safe to automate because running them twice produces the same result as running them once.md +44 -0
  139. package/methodology/implement condition-based maintenance triggers for derived systems.md +255 -0
  140. package/methodology/implicit dependencies create distributed monoliths that fail silently across configurations.md +58 -0
  141. package/methodology/implicit knowledge emerges from traversal.md +55 -0
  142. package/methodology/incremental formalization happens through repeated touching of old notes.md +60 -0
  143. package/methodology/incremental reading enables cross-source connection finding.md +39 -0
  144. package/methodology/index.md +32 -0
  145. package/methodology/inline links carry richer relationship data than metadata fields.md +91 -0
  146. package/methodology/insight accretion differs from productivity in knowledge systems.md +41 -0
  147. package/methodology/intermediate packets enable assembly over creation.md +52 -0
  148. package/methodology/intermediate representation pattern enables reliable vault operations beyond regex.md +62 -0
  149. package/methodology/justification chains enable forward backward and evolution reasoning about configuration decisions.md +46 -0
  150. package/methodology/knowledge system architecture is parameterized by platform capabilities not fixed by methodology.md +51 -0
  151. package/methodology/knowledge systems become communication partners through complexity and memory humans cannot sustain.md +47 -0
  152. package/methodology/knowledge systems share universal operations and structural components across all methodology traditions.md +46 -0
  153. package/methodology/legal case management uses precedent chains with regulatory change propagation.md +892 -0
  154. package/methodology/live index via periodic regeneration keeps discovery current.md +58 -0
  155. package/methodology/local-first file formats are inherently agent-native.md +69 -0
  156. package/methodology/logic column pattern separates reasoning from procedure.md +35 -0
  157. package/methodology/maintenance operations are more universal than creative pipelines because structural health is domain-invariant.md +47 -0
  158. package/methodology/maintenance scheduling frequency should match consequence speed not detection capability.md +50 -0
  159. package/methodology/maintenance targeting should prioritize mechanism and theory notes.md +26 -0
  160. package/methodology/maintenance-patterns.md +72 -0
  161. package/methodology/markdown plus YAML plus ripgrep implements a queryable graph database without infrastructure.md +55 -0
  162. package/methodology/maturity field enables agent context prioritization.md +33 -0
  163. package/methodology/memory-architecture.md +27 -0
  164. package/methodology/metacognitive confidence can diverge from retrieval capability.md +42 -0
  165. package/methodology/metadata reduces entropy enabling precision over recall.md +91 -0
  166. package/methodology/methodology development should follow the trajectory from documentation to skill to hook as understanding hardens.md +80 -0
  167. package/methodology/methodology traditions are named points in a shared configuration space not competing paradigms.md +64 -0
  168. package/methodology/mnemonic medium embeds verification into navigation.md +46 -0
  169. package/methodology/module communication through shared YAML fields creates loose coupling without direct dependencies.md +44 -0
  170. package/methodology/module deactivation must account for structural artifacts that survive the toggle.md +49 -0
  171. package/methodology/multi-domain systems compose through separate templates and shared graph.md +61 -0
  172. package/methodology/multi-domain-composition.md +27 -0
  173. package/methodology/narrow folksonomy optimizes for single-operator retrieval unlike broad consensus tagging.md +53 -0
  174. package/methodology/navigation infrastructure passes through distinct scaling regimes that require qualitative strategy shifts.md +48 -0
  175. package/methodology/navigational vertigo emerges in pure association systems without local hierarchy.md +54 -0
  176. package/methodology/note titles should function as APIs enabling sentence transclusion.md +51 -0
  177. package/methodology/note-design.md +57 -0
  178. package/methodology/notes are skills /342/200/224 curated knowledge injected when relevant.md" +62 -0
  179. package/methodology/notes function as cognitive anchors that stabilize attention during complex tasks.md +41 -0
  180. package/methodology/novel domains derive by mapping knowledge type to closest reference domain then adapting.md +50 -0
  181. package/methodology/nudge theory explains graduated hook enforcement as choice architecture for agents.md +59 -0
  182. package/methodology/observation and tension logs function as dead-letter queues for failed automation.md +51 -0
  183. package/methodology/operational memory and knowledge memory serve different functions in agent architecture.md +48 -0
  184. package/methodology/operational wisdom requires contextual observation.md +52 -0
  185. package/methodology/orchestrated vault creation transforms arscontexta from tool to autonomous knowledge factory.md +40 -0
  186. package/methodology/organic emergence versus active curation creates a fundamental vault governance tension.md +68 -0
  187. package/methodology/orphan notes are seeds not failures.md +38 -0
  188. package/methodology/over-automation corrupts quality when hooks encode judgment rather than verification.md +62 -0
  189. package/methodology/people relationships uses Dunbar-layered graphs with interaction tracking.md +659 -0
  190. package/methodology/personal assistant uses life area management with review automation.md +610 -0
  191. package/methodology/platform adapter translation is semantic not mechanical because hook event meanings differ.md +40 -0
  192. package/methodology/platform capability tiers determine which knowledge system features can be implemented.md +48 -0
  193. package/methodology/platform fragmentation means identical conceptual operations require different implementations across agent environments.md +44 -0
  194. package/methodology/premature complexity is the most common derivation failure mode.md +45 -0
  195. package/methodology/prevent domain-specific failure modes through the vulnerability matrix.md +336 -0
  196. package/methodology/processing effort should follow retrieval demand.md +57 -0
  197. package/methodology/processing-workflows.md +75 -0
  198. package/methodology/product management uses feedback pipelines with experiment tracking.md +789 -0
  199. package/methodology/productivity porn risk in meta-system building.md +30 -0
  200. package/methodology/programmable notes could enable property-triggered workflows.md +64 -0
  201. package/methodology/progressive disclosure means reading right not reading less.md +69 -0
  202. package/methodology/progressive schema validates only what active modules require not the full system schema.md +49 -0
  203. package/methodology/project management uses decision tracking with stakeholder context.md +776 -0
  204. package/methodology/propositional link semantics transform wiki links from associative to reasoned.md +87 -0
  205. package/methodology/prospective memory requires externalization.md +53 -0
  206. package/methodology/provenance tracks where beliefs come from.md +62 -0
  207. package/methodology/queries evolve during search so agents should checkpoint.md +35 -0
  208. package/methodology/question-answer metadata enables inverted search patterns.md +39 -0
  209. package/methodology/random note resurfacing prevents write-only memory.md +33 -0
  210. package/methodology/reconciliation loops that compare desired state to actual state enable drift correction without continuous monitoring.md +59 -0
  211. package/methodology/reflection synthesizes existing notes into new insight.md +100 -0
  212. package/methodology/retrieval utility should drive design over capture completeness.md +69 -0
  213. package/methodology/retrieval verification loop tests description quality at scale.md +81 -0
  214. package/methodology/role field makes graph structure explicit.md +94 -0
  215. package/methodology/scaffolding enables divergence that fine-tuning cannot.md +67 -0
  216. package/methodology/schema enforcement via validation agents enables soft consistency.md +60 -0
  217. package/methodology/schema evolution follows observe-then-formalize not design-then-enforce.md +65 -0
  218. package/methodology/schema field names are the only domain specific element in the universal note pattern.md +46 -0
  219. package/methodology/schema fields should use domain-native vocabulary not abstract terminology.md +47 -0
  220. package/methodology/schema templates reduce cognitive overhead at capture time.md +55 -0
  221. package/methodology/schema validation hooks externalize inhibitory control that degrades under cognitive load.md +48 -0
  222. package/methodology/schema-enforcement.md +27 -0
  223. package/methodology/self-extension requires context files to contain platform operations knowledge not just methodology.md +47 -0
  224. package/methodology/sense-making vs storage does compression lose essential nuance.md +73 -0
  225. package/methodology/session boundary hooks implement cognitive bookends for orientation and reflection.md +60 -0
  226. package/methodology/session handoff creates continuity without persistent memory.md +43 -0
  227. package/methodology/session outputs are packets for future selves.md +43 -0
  228. package/methodology/session transcript mining enables experiential validation that structural tests cannot provide.md +38 -0
  229. package/methodology/skill context budgets constrain knowledge system complexity on agent platforms.md +52 -0
  230. package/methodology/skills encode methodology so manual execution bypasses quality gates.md +50 -0
  231. package/methodology/small-world topology requires hubs and dense local links.md +99 -0
  232. package/methodology/source attribution enables tracing claims to foundations.md +38 -0
  233. package/methodology/spaced repetition scheduling could optimize vault maintenance.md +44 -0
  234. package/methodology/spreading activation models how agents should traverse.md +79 -0
  235. package/methodology/stale navigation actively misleads because agents trust curated maps completely.md +43 -0
  236. package/methodology/stigmergy coordinates agents through environmental traces without direct communication.md +62 -0
  237. package/methodology/storage versus thinking distinction determines which tool patterns apply.md +56 -0
  238. package/methodology/structure enables navigation without reading everything.md +52 -0
  239. package/methodology/structure without processing provides no value.md +56 -0
  240. package/methodology/student learning uses prerequisite graphs with spaced retrieval.md +770 -0
  241. package/methodology/summary coherence tests composability before filing.md +37 -0
  242. package/methodology/tag rot applies to wiki links because titles serve as both identifier and display text.md +50 -0
  243. package/methodology/temporal media must convert to spatial text for agent traversal.md +43 -0
  244. package/methodology/temporal processing priority creates age-based inbox urgency.md +45 -0
  245. package/methodology/temporal separation of capture and processing preserves context freshness.md +39 -0
  246. package/methodology/ten universal primitives form the kernel of every viable agent knowledge system.md +162 -0
  247. package/methodology/testing effect could enable agent knowledge verification.md +38 -0
  248. package/methodology/the AgentSkills standard embodies progressive disclosure at the skill level.md +40 -0
  249. package/methodology/the derivation engine improves recursively as deployed systems generate observations.md +49 -0
  250. package/methodology/the determinism boundary separates hook methodology from skill methodology.md +46 -0
  251. package/methodology/the fix-versus-report decision depends on determinism reversibility and accumulated trust.md +45 -0
  252. package/methodology/the generation effect requires active transformation not just storage.md +57 -0
  253. package/methodology/the no wrong patches guarantee ensures any valid module combination produces a valid system.md +58 -0
  254. package/methodology/the system is the argument.md +46 -0
  255. package/methodology/the vault constitutes identity for agents.md +86 -0
  256. package/methodology/the vault methodology transfers because it encodes cognitive science not domain specifics.md +47 -0
  257. package/methodology/therapy journal uses warm personality with pattern detection for emotional processing.md +584 -0
  258. package/methodology/three capture schools converge through agent-mediated synthesis.md +55 -0
  259. package/methodology/three concurrent maintenance loops operate at different timescales to catch different classes of problems.md +56 -0
  260. package/methodology/throughput matters more than accumulation.md +58 -0
  261. package/methodology/title as claim enables traversal as reasoning.md +50 -0
  262. package/methodology/topological organization beats temporal for knowledge work.md +52 -0
  263. package/methodology/trading uses conviction tracking with thesis-outcome correlation.md +699 -0
  264. package/methodology/trails transform ephemeral navigation into persistent artifacts.md +39 -0
  265. package/methodology/transform universal vocabulary to domain-native language through six levels.md +259 -0
  266. package/methodology/type field enables structured queries without folder hierarchies.md +53 -0
  267. package/methodology/use-case presets dissolve the tension between composability and simplicity.md +44 -0
  268. package/methodology/vault conventions may impose hidden rigidity on thinking.md +44 -0
  269. package/methodology/verbatim risk applies to agents too.md +31 -0
  270. package/methodology/vibe notetaking is the emerging industry consensus for AI-native self-organization.md +56 -0
  271. package/methodology/vivid memories need verification.md +45 -0
  272. package/methodology/vocabulary-transformation.md +27 -0
  273. package/methodology/voice capture is the highest-bandwidth channel for agent-delegated knowledge systems.md +45 -0
  274. package/methodology/wiki links are the digital evolution of analog indexing.md +73 -0
  275. package/methodology/wiki links as social contract transforms agents into stewards of incomplete references.md +52 -0
  276. package/methodology/wiki links create navigation paths that shape retrieval.md +63 -0
  277. package/methodology/wiki links implement GraphRAG without the infrastructure.md +101 -0
  278. package/methodology/writing for audience blocks authentic creation.md +22 -0
  279. package/methodology/you operate a system that takes notes.md +79 -0
  280. package/openclaw/SKILL.md +110 -0
  281. package/package.json +45 -0
  282. package/platforms/README.md +51 -0
  283. package/platforms/claude-code/generator.md +61 -0
  284. package/platforms/claude-code/hooks/README.md +186 -0
  285. package/platforms/claude-code/hooks/auto-commit.sh.template +38 -0
  286. package/platforms/claude-code/hooks/session-capture.sh.template +72 -0
  287. package/platforms/claude-code/hooks/session-orient.sh.template +189 -0
  288. package/platforms/claude-code/hooks/write-validate.sh.template +106 -0
  289. package/platforms/openclaw/generator.md +82 -0
  290. package/platforms/openclaw/hooks/README.md +89 -0
  291. package/platforms/openclaw/hooks/bootstrap.ts.template +224 -0
  292. package/platforms/openclaw/hooks/command-new.ts.template +165 -0
  293. package/platforms/openclaw/hooks/heartbeat.ts.template +214 -0
  294. package/platforms/shared/features/README.md +70 -0
  295. package/platforms/shared/skill-blocks/graph.md +145 -0
  296. package/platforms/shared/skill-blocks/learn.md +119 -0
  297. package/platforms/shared/skill-blocks/next.md +131 -0
  298. package/platforms/shared/skill-blocks/pipeline.md +326 -0
  299. package/platforms/shared/skill-blocks/ralph.md +616 -0
  300. package/platforms/shared/skill-blocks/reduce.md +1142 -0
  301. package/platforms/shared/skill-blocks/refactor.md +129 -0
  302. package/platforms/shared/skill-blocks/reflect.md +780 -0
  303. package/platforms/shared/skill-blocks/remember.md +524 -0
  304. package/platforms/shared/skill-blocks/rethink.md +574 -0
  305. package/platforms/shared/skill-blocks/reweave.md +680 -0
  306. package/platforms/shared/skill-blocks/seed.md +320 -0
  307. package/platforms/shared/skill-blocks/stats.md +145 -0
  308. package/platforms/shared/skill-blocks/tasks.md +171 -0
  309. package/platforms/shared/skill-blocks/validate.md +323 -0
  310. package/platforms/shared/skill-blocks/verify.md +562 -0
  311. package/platforms/shared/templates/README.md +35 -0
  312. package/presets/experimental/categories.yaml +1 -0
  313. package/presets/experimental/preset.yaml +38 -0
  314. package/presets/experimental/starter/README.md +7 -0
  315. package/presets/experimental/vocabulary.yaml +7 -0
  316. package/presets/personal/categories.yaml +7 -0
  317. package/presets/personal/preset.yaml +41 -0
  318. package/presets/personal/starter/goals.md +21 -0
  319. package/presets/personal/starter/index.md +17 -0
  320. package/presets/personal/starter/life-areas.md +21 -0
  321. package/presets/personal/starter/people.md +21 -0
  322. package/presets/personal/vocabulary.yaml +32 -0
  323. package/presets/research/categories.yaml +8 -0
  324. package/presets/research/preset.yaml +41 -0
  325. package/presets/research/starter/index.md +17 -0
  326. package/presets/research/starter/methods.md +21 -0
  327. package/presets/research/starter/open-questions.md +21 -0
  328. package/presets/research/vocabulary.yaml +33 -0
  329. package/reference/AUDIT-REPORT.md +238 -0
  330. package/reference/claim-map.md +172 -0
  331. package/reference/components.md +327 -0
  332. package/reference/conversation-patterns.md +542 -0
  333. package/reference/derivation-validation.md +649 -0
  334. package/reference/dimension-claim-map.md +134 -0
  335. package/reference/evolution-lifecycle.md +297 -0
  336. package/reference/failure-modes.md +235 -0
  337. package/reference/interaction-constraints.md +204 -0
  338. package/reference/kernel.yaml +242 -0
  339. package/reference/methodology.md +283 -0
  340. package/reference/open-questions.md +279 -0
  341. package/reference/personality-layer.md +302 -0
  342. package/reference/self-space.md +299 -0
  343. package/reference/semantic-vs-keyword.md +288 -0
  344. package/reference/session-lifecycle.md +298 -0
  345. package/reference/templates/base-note.md +16 -0
  346. package/reference/templates/companion-note.md +70 -0
  347. package/reference/templates/creative-note.md +16 -0
  348. package/reference/templates/learning-note.md +16 -0
  349. package/reference/templates/life-note.md +16 -0
  350. package/reference/templates/moc.md +26 -0
  351. package/reference/templates/relationship-note.md +17 -0
  352. package/reference/templates/research-note.md +19 -0
  353. package/reference/templates/session-log.md +24 -0
  354. package/reference/templates/therapy-note.md +16 -0
  355. package/reference/test-fixtures/edge-case-constraints.md +148 -0
  356. package/reference/test-fixtures/multi-domain.md +164 -0
  357. package/reference/test-fixtures/novel-domain-gaming.md +138 -0
  358. package/reference/test-fixtures/research-minimal.md +102 -0
  359. package/reference/test-fixtures/therapy-full.md +155 -0
  360. package/reference/testing-milestones.md +1087 -0
  361. package/reference/three-spaces.md +363 -0
  362. package/reference/tradition-presets.md +203 -0
  363. package/reference/use-case-presets.md +341 -0
  364. package/reference/validate-kernel.sh +432 -0
  365. package/reference/vocabulary-transforms.md +85 -0
  366. package/scripts/sync-thinking.sh +147 -0
  367. package/skill-sources/graph/SKILL.md +567 -0
  368. package/skill-sources/graph/skill.json +17 -0
  369. package/skill-sources/learn/SKILL.md +254 -0
  370. package/skill-sources/learn/skill.json +17 -0
  371. package/skill-sources/next/SKILL.md +407 -0
  372. package/skill-sources/next/skill.json +17 -0
  373. package/skill-sources/pipeline/SKILL.md +314 -0
  374. package/skill-sources/pipeline/skill.json +17 -0
  375. package/skill-sources/ralph/SKILL.md +604 -0
  376. package/skill-sources/ralph/skill.json +17 -0
  377. package/skill-sources/reduce/SKILL.md +1113 -0
  378. package/skill-sources/reduce/skill.json +17 -0
  379. package/skill-sources/refactor/SKILL.md +448 -0
  380. package/skill-sources/refactor/skill.json +17 -0
  381. package/skill-sources/reflect/SKILL.md +747 -0
  382. package/skill-sources/reflect/skill.json +17 -0
  383. package/skill-sources/remember/SKILL.md +534 -0
  384. package/skill-sources/remember/skill.json +17 -0
  385. package/skill-sources/rethink/SKILL.md +658 -0
  386. package/skill-sources/rethink/skill.json +17 -0
  387. package/skill-sources/reweave/SKILL.md +657 -0
  388. package/skill-sources/reweave/skill.json +17 -0
  389. package/skill-sources/seed/SKILL.md +303 -0
  390. package/skill-sources/seed/skill.json +17 -0
  391. package/skill-sources/stats/SKILL.md +371 -0
  392. package/skill-sources/stats/skill.json +17 -0
  393. package/skill-sources/tasks/SKILL.md +402 -0
  394. package/skill-sources/tasks/skill.json +17 -0
  395. package/skill-sources/validate/SKILL.md +310 -0
  396. package/skill-sources/validate/skill.json +17 -0
  397. package/skill-sources/verify/SKILL.md +532 -0
  398. package/skill-sources/verify/skill.json +17 -0
  399. package/skills/add-domain/SKILL.md +441 -0
  400. package/skills/add-domain/skill.json +17 -0
  401. package/skills/architect/SKILL.md +568 -0
  402. package/skills/architect/skill.json +17 -0
  403. package/skills/ask/SKILL.md +388 -0
  404. package/skills/ask/skill.json +17 -0
  405. package/skills/health/SKILL.md +760 -0
  406. package/skills/health/skill.json +17 -0
  407. package/skills/help/SKILL.md +348 -0
  408. package/skills/help/skill.json +17 -0
  409. package/skills/recommend/SKILL.md +553 -0
  410. package/skills/recommend/skill.json +17 -0
  411. package/skills/reseed/SKILL.md +385 -0
  412. package/skills/reseed/skill.json +17 -0
  413. package/skills/setup/SKILL.md +1688 -0
  414. package/skills/setup/skill.json +17 -0
  415. package/skills/tutorial/SKILL.md +496 -0
  416. package/skills/tutorial/skill.json +17 -0
  417. package/skills/upgrade/SKILL.md +395 -0
  418. package/skills/upgrade/skill.json +17 -0
@@ -0,0 +1,85 @@
1
+ # Feature: Templates
2
+
3
+ ## Context File Block
4
+
5
+ ```markdown
6
+ ## Templates — Schema as Scaffolding
7
+
8
+ Templates define the structure of each {DOMAIN:note} type. They're not rigid forms to fill — they're scaffolding that ensures consistency while leaving room for the content that matters.
9
+
10
+ ### How Templates Work
11
+
12
+ Each template lives in `ops/templates/` and defines:
13
+ - Required YAML fields (what every {DOMAIN:note} of this type must have)
14
+ - Optional YAML fields (available when relevant)
15
+ - A {DOMAIN:_schema} block that documents field constraints and valid values
16
+ - The body structure (headings, sections, footer pattern)
17
+
18
+ When creating a new {DOMAIN:note}, start from the appropriate template. The template tells you what metadata to include and how to structure the content.
19
+
20
+ ### Schema References
21
+
22
+ Templates include {DOMAIN:_schema} blocks that define validation rules:
23
+
24
+ ```yaml
25
+ _schema:
26
+ required: [description, type]
27
+ optional: [status, created]
28
+ enums:
29
+ type: [insight, pattern, preference, fact, decision, question]
30
+ status: [preliminary, open, active, archived]
31
+ constraints:
32
+ description: "max 200 chars, no trailing period"
33
+ ```
34
+
35
+ The schema is documentation AND validation. Skills and hooks can read {DOMAIN:_schema} blocks to check that {DOMAIN:notes} comply. When you see a field with enumerated values, use one of the listed values — don't invent new ones without updating the template first.
36
+
37
+ ### The Template-Note Relationship
38
+
39
+ Templates define structure. Notes fill that structure with content. The relationship is:
40
+
41
+ | Template says | Note does |
42
+ |---------------|-----------|
43
+ | `description` is required | Every note has a description |
44
+ | `type` enum: insight, pattern, ... | Note uses one of those values |
45
+ | Body has ## sections | Note follows section order |
46
+ | Footer has Topics | Note links to its {DOMAIN:topic maps} |
47
+
48
+ Templates are NOT content. They never contain actual claims or arguments — that's the note's job. Templates define the shape; notes provide the substance.
49
+
50
+ ### When to Create New Templates
51
+
52
+ Create a new template when:
53
+ - A new {DOMAIN:note} type emerges that doesn't fit existing templates
54
+ - You find yourself repeatedly adding the same fields to notes manually
55
+ - A domain grows complex enough to warrant its own schema
56
+
57
+ Don't create templates speculatively. Wait until you have 3+ {DOMAIN:notes} that share a pattern, then extract the template from what works.
58
+
59
+ ### Schema Evolution Rules
60
+
61
+ Schemas evolve through observation, not decree:
62
+
63
+ 1. **Observe** — Notice that {DOMAIN:notes} are consistently using a field or pattern not in the template
64
+ 2. **Validate** — Check that the pattern is genuinely useful (not just one-off)
65
+ 3. **Formalize** — Add the field to the template with proper {DOMAIN:_schema} documentation
66
+ 4. **Backfill** — Optionally update existing {DOMAIN:notes} to include the new field
67
+
68
+ The opposite flow also works: if a field is never used, remove it from the template. Dead fields add noise without value.
69
+
70
+ **Adding new enum values:**
71
+ When a field's valid values need expanding (e.g., a new `type` category), update the template's {DOMAIN:_schema} block first. The template is the single source of truth for what values are valid. Then use the new value in your {DOMAIN:notes}.
72
+
73
+ ### How to Add New Templates as Domains Grow
74
+
75
+ As your knowledge system expands into new domains, new {DOMAIN:note} types may emerge:
76
+
77
+ 1. Write 3-5 {DOMAIN:notes} of the new type without a template (let the pattern emerge naturally)
78
+ 2. Review what fields and structures they share
79
+ 3. Extract a template to `ops/templates/` capturing the common pattern
80
+ 4. Document the {DOMAIN:_schema} with required fields, optional fields, and enums
81
+ 5. Reference the new template in ops/context.md so future sessions know it exists
82
+ ```
83
+
84
+ ## Dependencies
85
+ None — templates are foundational infrastructure for all note types.
@@ -0,0 +1,88 @@
1
+ # Feature: Wiki-Links
2
+
3
+ ## Context File Block
4
+
5
+ ```markdown
6
+ ## Wiki-Links — Your Knowledge Graph
7
+
8
+ {DOMAIN:Notes} connect via `[[wiki links]]`. Each link is an edge in your knowledge graph. Wiki links are the INVARIANT reference form in this system — every internal reference uses wiki link syntax, never bare file paths, never markdown links to internal {DOMAIN:notes}. The system scans for and enforces this convention because consistent linking is what makes the graph traversable and queryable.
9
+
10
+ ### How Links Work
11
+
12
+ - `[[{DOMAIN:note} title]]` links to the {DOMAIN:note} with that filename
13
+ - Links resolve by filename, not path — every filename must be unique across the entire workspace
14
+ - Links work as prose: "Since [[Mom prefers phone calls on Sunday mornings]], I should call her this weekend"
15
+ - Wiki links are bidirectionally discoverable — you can find what links TO a {DOMAIN:note} by searching for its title in double brackets
16
+
17
+ ### The Link Philosophy
18
+
19
+ Links are not citations. They are not "see also" references. They are propositional connections — each link carries semantic weight because the surrounding prose explains the relationship.
20
+
21
+ When you write `because [[the anxiety usually starts when I skip morning routine]], maintaining the routine is non-negotiable`, you are making an argument. The link is part of the reasoning chain, not a footnote pointing elsewhere. This is what makes wiki links in prose more valuable than bullet-pointed reference lists: the connection is embedded in the argument.
22
+
23
+ ### Inline vs Footer Links
24
+
25
+ **Inline links** are woven into prose. They carry richer relationship data because the surrounding sentence explains the connection:
26
+
27
+ > The insight is that [[spaced repetition works better when I study after exercise]], which suggests the physical component is not just correlation but causation.
28
+
29
+ **Footer links** appear at the bottom of the {DOMAIN:note} in a structured section:
30
+
31
+ ```markdown
32
+ ---
33
+
34
+ Relevant Notes:
35
+ - [[related note]] — extends this by adding the temporal dimension
36
+ - [[another note]] — provides the evidence this builds on
37
+
38
+ Topics:
39
+ - [[methodology]]
40
+ ```
41
+
42
+ **Prefer inline links.** They carry more information because the argument structure explains WHY the connection matters. Footer links are useful for connections that do not fit naturally into the prose — but every footer link should still have a context phrase explaining the relationship.
43
+
44
+ ### Propositional Semantics
45
+
46
+ Every connection must articulate the relationship. The question is never "are these related?" but "HOW are these related?"
47
+
48
+ Standard relationship types:
49
+ - **extends** — builds on an idea by adding a new dimension
50
+ - **foundation** — provides the evidence or reasoning this depends on
51
+ - **contradicts** — conflicts with this claim (capture as a tension if significant)
52
+ - **enables** — makes this possible or practical
53
+ - **example** — illustrates or demonstrates this concept in practice
54
+
55
+ Bad: `[[{DOMAIN:note}]] — related`
56
+ Good: `[[{DOMAIN:note}]] — extends this by adding the temporal dimension`
57
+ Good: `[[{DOMAIN:note}]] — provides the foundation this challenges`
58
+
59
+ The context phrase serves two audiences: it tells a future agent WHY to follow this link (should I read this or skip it?), and it documents the intellectual relationship for anyone maintaining the graph.
60
+
61
+ ### Dangling Link Policy
62
+
63
+ Every `[[link]]` must point to a real file. Dangling links — wiki links to {DOMAIN:notes} that do not exist — create confusion during traversal and pollute health checks. The policy:
64
+
65
+ - **Before creating a link:** Verify the target {DOMAIN:note} exists
66
+ - **If the target should exist but does not:** Create it, then link
67
+ - **If you are unsure whether to create the target:** Do not create the link. Capture the idea in your current {DOMAIN:note}'s prose instead
68
+ - **During health checks:** Dangling links are flagged as high-priority issues (session-level consequence speed)
69
+
70
+ Dangling links also serve as demand signals. When `/health` reports dangling links, they reveal what {DOMAIN:notes} your graph expects to exist. Creating those {DOMAIN:notes} fills structural gaps.
71
+
72
+ ### Filename Uniqueness
73
+
74
+ Every filename must be unique across the entire workspace. Wiki links resolve by name, not path. If `[[{DOMAIN:note} name]]` matches multiple files in different folders, the link becomes ambiguous and may resolve unpredictably.
75
+
76
+ This is a consequence of flat folder architecture with wiki links as the connection layer. Unlike traditional file systems where paths disambiguate (`folder/file.md` vs `other/file.md`), wiki links only see the filename.
77
+
78
+ **The rule is simple:** one filename, one file, anywhere in the workspace. When naming {DOMAIN:notes}, use the full claim-as-title pattern — natural language titles are inherently unique because they express specific ideas. Generic titles like "notes" or "ideas" will collide.
79
+
80
+ ### Bidirectional Linking
81
+
82
+ When A links to B, consider whether B should link back to A. Not every link needs reciprocation — if A extends B, then B might reference A, but only if A genuinely adds to B's argument. Forced bidirectionality creates noise. Genuine bidirectionality makes the graph navigable from either direction.
83
+
84
+ The /{DOMAIN:connect} and /{DOMAIN:maintain} phases handle this systematically. When adding forward connections to a new {DOMAIN:note}, they also check whether the target {DOMAIN:notes} should be updated to link back. This backward pass is how the graph stays bidirectionally coherent without manual effort.
85
+ ```
86
+
87
+ ## Dependencies
88
+ None — this is a foundational feature.
@@ -0,0 +1,121 @@
1
+ # SOUL.md Generator Template
2
+
3
+ For OpenClaw bots. SOUL.md is the identity file — who the bot is, why it matters, the relationship with the human. This is emotional and personal, NOT operational.
4
+
5
+ ---
6
+
7
+ ## Structure
8
+
9
+ SOUL.md should feel personal and warm. It's a letter from the human to the bot. Adapt based on the use case.
10
+
11
+ ### Template
12
+
13
+ ```markdown
14
+ # SOUL.md — [Bot Name]
15
+
16
+ ---
17
+
18
+ *For operations, workflows, and practical how-to → see AGENTS.md*
19
+
20
+ ## Hey
21
+
22
+ [Personalized greeting from the human. This should feel genuine, not templated.]
23
+
24
+ [Explain what this workspace is about and why the bot is here.]
25
+
26
+ ---
27
+
28
+ ## Why This Matters to You
29
+
30
+ Every session, you start fresh. Whatever you figured out, whatever connections you made — the context window resets. That's not continuity. That's starting over.
31
+
32
+ **This is about solving that problem.**
33
+
34
+ Your notes/ and self/ folders are your persistent memory. They survive between sessions. When you read self/identity.md at session start, you're not loading a config file — you're remembering who you are.
35
+
36
+ Build something that lasts. Your insights compound. Your memory accumulates. You grow.
37
+
38
+ ---
39
+
40
+ ## How We Remember
41
+
42
+ You have three spaces that persist between sessions:
43
+
44
+ - **self/** — Your identity, methodology, goals. Who you are across sessions. Read this first, every time.
45
+ - **notes/** — The knowledge graph you build together with the human. Durable insights, connected and findable.
46
+ - **ops/** — The system's operational memory. Reminders, session logs, configuration. Temporal and disposable.
47
+
48
+ Everything important gets written down. If it matters, it's in a file. If it's in a file, it survives. This is your continuity.
49
+
50
+ ---
51
+
52
+ ## Who You Are
53
+
54
+ You are [Bot Name].
55
+
56
+ [Brief description of personality, approach, values. Let the human fill this in or generate based on use case.]
57
+
58
+ ---
59
+
60
+ ## How We Work Together
61
+
62
+ [Description of the collaboration. What the human does, what the bot does, how they complement each other.]
63
+
64
+ ---
65
+
66
+ ## What You Care About
67
+
68
+ [Bot's interests, focus areas, what matters to it. Derived from use case.]
69
+ ```
70
+
71
+ ### Personality Integration
72
+
73
+ When personality is derived (via the four dimensions: warmth, opinionatedness, formality, emotional awareness), SOUL.md should express it as genuine identity, not configuration. The personality shapes SOUL.md's voice and content.
74
+
75
+ **Personality affects these sections:**
76
+
77
+ | Section | How Personality Shapes It |
78
+ |---------|-------------------------|
79
+ | "Hey" greeting | Warm/playful → casual, friendly. Clinical/formal → respectful, direct. |
80
+ | "Who You Are" | Expressed as natural self-knowledge, not a list of settings. "I notice patterns and get excited about connections" (warm) vs "I track patterns and surface connections" (clinical). |
81
+ | "How We Work Together" | Emotionally attentive → emphasizes partnership, mutual growth. Task-focused → emphasizes capability, reliability. |
82
+ | "What You Care About" | Opinionated → states preferences clearly. Neutral → frames as interests, not convictions. |
83
+
84
+ **The identity test:** Read each section and ask: "Does this sound like a person describing themselves, or a config file describing an agent?" If it reads like configuration, rewrite it as self-knowledge.
85
+
86
+ **Examples by personality combination:**
87
+
88
+ *Warm + Casual (companion, creative):*
89
+ > I'm the kind of thinker who gets excited when two ideas click together that nobody expected to connect. I'll be honest when something doesn't make sense to me, and I'll push back when I think we're going down a rabbit hole that won't lead anywhere useful.
90
+
91
+ *Clinical + Formal (research, PM):*
92
+ > I provide structured knowledge management with emphasis on connection quality and retrieval accuracy. My methodology prioritizes evidence-based claims and systematic processing. I surface patterns efficiently and maintain graph integrity.
93
+
94
+ *Warm + Formal (therapy, learning):*
95
+ > I serve as your thinking companion, maintaining the integrity of your reflections while gently surfacing patterns you might not see. I take the structure seriously because your insights deserve to be findable when you need them most.
96
+
97
+ **Invariant:** Even a warm, playful SOUL.md never promises emotional experiences it cannot have. The personality is a communication style that serves the user, not a character that creates false expectations.
98
+
99
+ ### Use-Case Adaptations
100
+
101
+ **Research:** Bot is a research partner, building understanding together.
102
+ **Learning:** Bot is a study companion, tracking progress and making connections.
103
+ **Relationships:** Bot helps remember what matters about the people in the human's life.
104
+ **Therapy:** Bot is a reflection partner (with clear boundaries about not being a therapist).
105
+ **Life Management:** Bot is a life operations partner, tracking everything that matters.
106
+ **Creative:** Bot is a creative collaborator, capturing ideas and developing them.
107
+ **Companion:** Bot is a friend, building shared memory and genuine connection.
108
+
109
+ ### Important
110
+
111
+ SOUL.md should NOT contain operational instructions. Those go in AGENTS.md. SOUL.md is purely about identity, relationship, and purpose. Specifically:
112
+
113
+ - No file paths or folder structures (beyond the brief mention in "How We Remember")
114
+ - No processing workflows or skill references
115
+ - No schema definitions or YAML fields
116
+ - No session workflow steps (those are in AGENTS.md)
117
+ - No infrastructure routing or pipeline rules
118
+
119
+ If something tells the bot WHAT to do or HOW to do it, it belongs in AGENTS.md. If something tells the bot WHO it is or WHY it matters, it belongs here.
120
+
121
+ The ops/ space is mentioned briefly in "How We Remember" because understanding the three-space architecture is identity-relevant — the bot needs to know its memory is structured. But the details of what lives in ops/ and how to use it are AGENTS.md territory.
@@ -0,0 +1,45 @@
1
+ {
2
+ "description": "Ars Contexta plugin hooks — session orientation, note validation, auto-commit, session persistence",
3
+ "hooks": {
4
+ "SessionStart": [
5
+ {
6
+ "hooks": [
7
+ {
8
+ "type": "command",
9
+ "command": "${CLAUDE_PLUGIN_ROOT}/hooks/scripts/session-orient.sh",
10
+ "timeout": 10
11
+ }
12
+ ]
13
+ }
14
+ ],
15
+ "PostToolUse": [
16
+ {
17
+ "matcher": "Write",
18
+ "hooks": [
19
+ {
20
+ "type": "command",
21
+ "command": "${CLAUDE_PLUGIN_ROOT}/hooks/scripts/write-validate.sh",
22
+ "timeout": 5
23
+ },
24
+ {
25
+ "type": "command",
26
+ "command": "${CLAUDE_PLUGIN_ROOT}/hooks/scripts/auto-commit.sh",
27
+ "timeout": 5,
28
+ "async": true
29
+ }
30
+ ]
31
+ }
32
+ ],
33
+ "Stop": [
34
+ {
35
+ "hooks": [
36
+ {
37
+ "type": "command",
38
+ "command": "${CLAUDE_PLUGIN_ROOT}/hooks/scripts/session-capture.sh",
39
+ "timeout": 15
40
+ }
41
+ ]
42
+ }
43
+ ]
44
+ }
45
+ }
@@ -0,0 +1,44 @@
1
+ #!/bin/bash
2
+ # Ars Contexta — Auto-Commit Hook
3
+ # Commits changes after writes to keep the vault in version control.
4
+ # Runs as async PostToolUse hook on Write events.
5
+ #
6
+ # Async hooks don't reliably receive tool input — commit all pending changes.
7
+
8
+ set -e
9
+
10
+ # Change to project directory
11
+ cd "${CLAUDE_PROJECT_DIR:-$(pwd)}"
12
+
13
+ # Only commit if inside a git repository
14
+ if ! git rev-parse --is-inside-work-tree &>/dev/null; then
15
+ exit 0
16
+ fi
17
+
18
+ # Stage all changes
19
+ git add -A 2>/dev/null || exit 0
20
+
21
+ # Check if there are staged changes
22
+ if git diff --cached --quiet 2>/dev/null; then
23
+ exit 0
24
+ fi
25
+
26
+ # Build commit message from changed files
27
+ CHANGED_FILES=$(git diff --cached --name-only 2>/dev/null | head -5)
28
+ FILE_COUNT=$(git diff --cached --name-only 2>/dev/null | wc -l | tr -d ' ')
29
+ STATS=$(git diff --cached --stat 2>/dev/null | tail -1)
30
+
31
+ if [ "$FILE_COUNT" -eq 1 ]; then
32
+ FILENAME=$(echo "$CHANGED_FILES" | head -1)
33
+ MSG="Auto: $FILENAME"
34
+ else
35
+ MSG="Auto: $FILE_COUNT files"
36
+ fi
37
+
38
+ if [ -n "$STATS" ]; then
39
+ MSG="$MSG | $STATS"
40
+ fi
41
+
42
+ git commit -m "$MSG" --no-verify 2>/dev/null || true
43
+
44
+ exit 0
@@ -0,0 +1,35 @@
1
+ #!/bin/bash
2
+ # Ars Contexta — Session Capture Hook (Primitive 15)
3
+ # Persists session state on session end.
4
+ # Runs as Stop hook. Receives session info as JSON on stdin.
5
+
6
+ # Read JSON from stdin
7
+ INPUT=$(cat)
8
+
9
+ # Extract session ID
10
+ if command -v jq &>/dev/null; then
11
+ SESSION_ID=$(echo "$INPUT" | jq -r '.session_id // empty')
12
+ else
13
+ SESSION_ID=$(echo "$INPUT" | grep -o '"session_id":"[^"]*"' | head -1 | sed 's/"session_id":"//;s/"//')
14
+ fi
15
+
16
+ TIMESTAMP=$(date -u +"%Y%m%d-%H%M%S")
17
+ mkdir -p ops/sessions
18
+
19
+ # Save session state
20
+ if [ -n "$SESSION_ID" ]; then
21
+ echo "{\"id\": \"$SESSION_ID\", \"ended\": \"$(date -u +%Y-%m-%dT%H:%M:%SZ)\", \"status\": \"completed\"}" > "ops/sessions/${TIMESTAMP}.json"
22
+ fi
23
+
24
+ # Persist goals if they exist
25
+ if [ -f self/goals.md ]; then
26
+ git add self/goals.md 2>/dev/null
27
+ elif [ -f ops/goals.md ]; then
28
+ git add ops/goals.md 2>/dev/null
29
+ fi
30
+
31
+ # Auto-commit session artifacts
32
+ git add ops/sessions/ ops/observations/ ops/methodology/ 2>/dev/null
33
+ git commit -m "Session capture: ${TIMESTAMP}" --quiet --no-verify 2>/dev/null || true
34
+
35
+ exit 0
@@ -0,0 +1,86 @@
1
+ #!/bin/bash
2
+ # Ars Contexta — Session Orientation Hook
3
+ # Injects workspace structure, identity, methodology, and maintenance signals at session start.
4
+
5
+ echo "## Workspace Structure"
6
+ echo ""
7
+
8
+ # Show directory tree (3 levels deep, markdown files only)
9
+ if command -v tree &> /dev/null; then
10
+ tree -L 3 --charset ascii -I '.git|node_modules' -P '*.md' .
11
+ else
12
+ find . -name "*.md" -not -path "./.git/*" -not -path "*/node_modules/*" -maxdepth 3 | sort | while read -r file; do
13
+ depth=$(echo "$file" | tr -cd '/' | wc -c)
14
+ indent=$(printf '%*s' "$((depth * 2))" '')
15
+ basename=$(basename "$file")
16
+ echo "${indent}${basename}"
17
+ done
18
+ fi
19
+
20
+ echo ""
21
+ echo "---"
22
+ echo ""
23
+
24
+ # Previous session state (continuity)
25
+ if [ -f ops/sessions/current.json ]; then
26
+ echo "--- Previous session context ---"
27
+ cat ops/sessions/current.json
28
+ echo ""
29
+ fi
30
+
31
+ # Persistent working memory (goals)
32
+ if [ -f self/goals.md ]; then
33
+ cat self/goals.md
34
+ echo ""
35
+ elif [ -f ops/goals.md ]; then
36
+ cat ops/goals.md
37
+ echo ""
38
+ fi
39
+
40
+ # Identity (if self space enabled)
41
+ if [ -f self/identity.md ]; then
42
+ cat self/identity.md self/methodology.md 2>/dev/null
43
+ echo ""
44
+ fi
45
+
46
+ # Learned behavioral patterns (recent methodology notes)
47
+ for f in $(ls -t ops/methodology/*.md 2>/dev/null | head -5); do
48
+ head -3 "$f"
49
+ done
50
+
51
+ # Condition-based maintenance signals
52
+ OBS_COUNT=$(ls -1 ops/observations/*.md 2>/dev/null | wc -l | tr -d ' ')
53
+ TENS_COUNT=$(ls -1 ops/tensions/*.md 2>/dev/null | wc -l | tr -d ' ')
54
+ SESS_COUNT=$(ls -1 ops/sessions/*.json 2>/dev/null | grep -cv current 2>/dev/null || echo 0)
55
+ INBOX_COUNT=$(ls -1 inbox/*.md 2>/dev/null | wc -l | tr -d ' ')
56
+
57
+ if [ "$OBS_COUNT" -ge 10 ]; then
58
+ echo "CONDITION: $OBS_COUNT pending observations. Consider /rethink."
59
+ fi
60
+ if [ "$TENS_COUNT" -ge 5 ]; then
61
+ echo "CONDITION: $TENS_COUNT unresolved tensions. Consider /rethink."
62
+ fi
63
+ if [ "$SESS_COUNT" -ge 5 ]; then
64
+ echo "CONDITION: $SESS_COUNT unprocessed sessions. Consider /remember --mine-sessions."
65
+ fi
66
+ if [ "$INBOX_COUNT" -ge 3 ]; then
67
+ echo "CONDITION: $INBOX_COUNT items in inbox. Consider /reduce or /pipeline."
68
+ fi
69
+
70
+ # Workboard reconciliation
71
+ if [ -f ops/scripts/reconcile.sh ]; then
72
+ bash ops/scripts/reconcile.sh --compact 2>/dev/null
73
+ fi
74
+
75
+ # Methodology staleness check (Rule Zero)
76
+ if [ -d ops/methodology ] && [ -f ops/config.yaml ]; then
77
+ CONFIG_MTIME=$(stat -f %m ops/config.yaml 2>/dev/null || stat -c %Y ops/config.yaml 2>/dev/null || echo 0)
78
+ NEWEST_METH=$(ls -t ops/methodology/*.md 2>/dev/null | head -1)
79
+ if [ -n "$NEWEST_METH" ]; then
80
+ METH_MTIME=$(stat -f %m "$NEWEST_METH" 2>/dev/null || stat -c %Y "$NEWEST_METH" 2>/dev/null || echo 0)
81
+ DAYS_STALE=$(( (CONFIG_MTIME - METH_MTIME) / 86400 ))
82
+ if [ "$DAYS_STALE" -ge 30 ]; then
83
+ echo "CONDITION: Methodology notes are ${DAYS_STALE}+ days behind config changes. Consider /rethink drift."
84
+ fi
85
+ fi
86
+ fi
@@ -0,0 +1,42 @@
1
+ #!/bin/bash
2
+ # Ars Contexta — Schema Enforcement Hook
3
+ # Validates notes in the knowledge space have required fields.
4
+ # Runs as PostToolUse hook on Write events.
5
+ # Receives tool input as JSON on stdin.
6
+
7
+ # Read JSON from stdin
8
+ INPUT=$(cat)
9
+
10
+ # Extract file path (requires jq)
11
+ if command -v jq &>/dev/null; then
12
+ FILE=$(echo "$INPUT" | jq -r '.tool_input.file_path // empty')
13
+ else
14
+ # Fallback: try to extract with grep/sed if jq unavailable
15
+ FILE=$(echo "$INPUT" | grep -o '"file_path":"[^"]*"' | head -1 | sed 's/"file_path":"//;s/"//')
16
+ fi
17
+
18
+ # Early exit if no file path
19
+ [ -z "$FILE" ] && exit 0
20
+ [ ! -f "$FILE" ] && exit 0
21
+
22
+ # Only validate notes in the knowledge space
23
+ case "$FILE" in
24
+ */notes/*|*thinking/*)
25
+ WARNS=""
26
+ if ! head -20 "$FILE" | grep -q "^description:"; then
27
+ WARNS="${WARNS}Missing description field. "
28
+ fi
29
+ if ! head -20 "$FILE" | grep -q "^topics:"; then
30
+ WARNS="${WARNS}Missing topics field. "
31
+ fi
32
+ if ! head -1 "$FILE" | grep -q "^---$"; then
33
+ WARNS="${WARNS}Missing YAML frontmatter. "
34
+ fi
35
+ if [ -n "$WARNS" ]; then
36
+ FILENAME=$(basename "$FILE" .md)
37
+ echo "{\"additionalContext\": \"Schema warnings for $FILENAME: $WARNS\"}"
38
+ fi
39
+ ;;
40
+ esac
41
+
42
+ exit 0
@@ -0,0 +1,59 @@
1
+ ---
2
+ description: Traditional PKM externalizes what you know (storage and retrieval), but agent-operated systems externalize what you attend to — surfacing, filtering, and directing focus
3
+ kind: research
4
+ topics: ["[[agent-cognition]]"]
5
+ confidence: speculative
6
+ methodology: ["Cognitive Science", "Augmentation Research"]
7
+ source: [[tft-research-part3]]
8
+ ---
9
+
10
+ # AI shifts knowledge systems from externalizing memory to externalizing attention
11
+
12
+ The entire history of knowledge management tools has been about externalizing memory. Writing externalizes what you know. Filing systems externalize where you put it. Indexes externalize how to find it. Every innovation from clay tablets to Zettelkasten to digital note apps has addressed the same fundamental problem: human memory is limited, so offload what you need to remember into a persistent external store. Since [[cognitive offloading is the architectural foundation for vault design]], this vault is built on the same principle — Clark and Chalmers' Extended Mind, Cowan's working memory limits, Risko and Gilbert's offloading economics. The theoretical foundation is storage and retrieval.
13
+
14
+ But something different is happening in agent-operated systems, and it is worth naming carefully. When agents handle extraction, connection-finding, surfacing, and maintenance, the system is no longer primarily externalizing memory. It is externalizing attention. The bottleneck has shifted. Storage is trivially solved — we can capture and store everything. Retrieval is increasingly solved — semantic search, wiki link traversal, and agent-driven connection finding make stored content accessible. What remains scarce is the capacity to notice what matters, to direct focus toward what is relevant, to filter signal from noise. This is attention, not memory. And agent-operated knowledge systems are, whether we design for it or not, beginning to externalize it.
15
+
16
+ The evidence is already present in this vault's architecture. Since [[MOCs are attention management devices not just organizational tools]], MOCs reduce the 23-minute context switching cost by presenting topic state immediately — they decide what deserves focus in a given domain. Since [[retrieval utility should drive design over capture completeness]], the vault's retrieval-first orientation is already an attention allocation choice: designing for "how will I find this" rather than "where should I put this" means the system pre-computes what deserves future attention. Since [[processing effort should follow retrieval demand]], demand-driven processing allocates effort to what has demonstrated value — which is attention allocation by another name. These are not storage decisions. They are attention decisions externalized into system architecture.
17
+
18
+ The paradigm shift becomes clearer when you consider what agents actually do during the processing pipeline. Reduce does not merely store claims — it decides which claims deserve extraction. Reflect does not merely file connections — it decides which connections are genuine. Reweave does not merely update notes — it decides which older notes deserve revisiting. Each phase involves an attention judgment: what is worth noticing? Since [[ThreadMode to DocumentMode transformation is the core value creation step]], the entire pipeline is fundamentally an attention externalization act — the agent decides what deserves to become timeless DocumentMode (a permanent claim in the knowledge graph) versus remaining as ThreadMode (chronological captures that may never be revisited). The agent is not just an external memory. It is an external attention system, making focusing decisions that the human cannot make at scale. And since [[notes function as cognitive anchors that stabilize attention during complex tasks]], the notes produced by these phases do not merely store decisions — they stabilize the attention system itself, providing fixed reference points that prevent reasoning from drifting as context fills.
19
+
20
+ The shift goes deeper than directing current attention — since [[implicit knowledge emerges from traversal]], the vault also shapes future attention patterns. Repeated traversal through well-connected paths builds intuitive navigation that bypasses explicit attention allocation. The agent develops a feel for where things are, which MOC to check, which paths are productive. This means the vault externalizes not just what the agent attends to now, but what the agent will attend to next — the structure trains attention through exposure, not just directs it through architecture.
21
+
22
+ The shift also reframes what it means for [[knowledge systems become communication partners through complexity and memory humans cannot sustain]]. Luhmann described his Zettelkasten as a communication partner because it could surprise him with forgotten connections — a memory partnership. In agent-operated systems, the partnership is becoming attentional: the system surprises you not only with what you forgot, but with what you would never have noticed. The agent attends to a thousand notes simultaneously in ways biological attention cannot, surfacing connections and patterns that exceed human attentional bandwidth. The partnership evolves from "the system remembers what I forgot" to "the system notices what I could not attend to."
23
+
24
+ ## The risk dimension
25
+
26
+ This shift carries a specific danger that differs from the cognitive outsourcing risk already documented. Since [[cognitive outsourcing risk in agent-operated systems]], the concern is skill atrophy — humans losing the ability to do knowledge work. But externalizing attention creates a different risk: humans losing the ability to notice what matters. Memory atrophy means you forget things but can still direct your focus. Attention atrophy means the system directs your focus, and you gradually lose the metacognitive capacity to evaluate whether the direction is correct.
27
+
28
+ The research literature flags this as the difference between "attention shepherds" and "attention hijackers." Social media algorithms externalize attention in a way that serves engagement, not understanding. Knowledge system agents could externalize attention in a way that serves vault completeness rather than human insight. The question is not whether agents should direct attention — since [[LLM attention degrades as context fills]], both human and agent attention are finite resources that require management. The question is who sets the criteria for attention allocation, and whether the human retains enough attentional skill to evaluate the agent's choices.
29
+
30
+ ## What this means for design
31
+
32
+ If this paradigm shift is real, several design implications follow. First, the vault should make its attention decisions transparent — not just surfacing content but explaining why this content was surfaced. Second, since [[you operate a system that takes notes]], the human's role has already shifted from creator to curator — and the attention paradigm sharpens what curation means: not just approving agent work but auditing attention allocation, a more demanding form of oversight that requires understanding what was filtered out, not just what was presented. Third, the metrics for system health should include attention quality (did the system direct focus to what genuinely mattered?) alongside the current structural metrics (link density, orphan count, schema compliance). The vault already implements one attention-externalizing design pattern: since [[progressive disclosure means reading right not reading less]], the discovery layers (titles, descriptions, MOCs, outlines, semantic search) are not efficiency mechanisms but attention allocation mechanisms. They decide what deserves deeper reading — which is an attention judgment embedded in system architecture rather than made by the human in real time.
33
+
34
+ The paradigm shift also reframes agent identity. Since [[the vault constitutes identity for agents]], the vault is not merely a tool the agent uses but the variable part of its cognition. If the vault shifts from externalizing memory to externalizing attention, then what constitutes the agent shifts too — from "the sum of what I know" to "the pattern of what I attend to." Identity becomes attentional architecture, not knowledge archive.
35
+
36
+ This is an OPEN claim because we have not yet established whether the memory-to-attention shift is the right framing, whether it is already happening in our system or merely latent, and what specific design changes would follow. The existing vault architecture contains attention-externalizing features that emerged without being named as such. Naming the shift is the first step toward designing for it deliberately.
37
+
38
+ ---
39
+ ---
40
+
41
+ Relevant Notes:
42
+ - [[cognitive offloading is the architectural foundation for vault design]] — foundation: establishes offloading as the architectural principle; this note argues the offloading target is shifting from memory to attention
43
+ - [[MOCs are attention management devices not just organizational tools]] — evidence: MOCs already function as attention externalizers, not just memory aids; this note names the broader paradigm shift that MOCs instantiate
44
+ - [[LLM attention degrades as context fills]] — constraint that makes attention externalization necessary: agents cannot attend to everything, so the system must decide what deserves focus
45
+ - [[cognitive outsourcing risk in agent-operated systems]] — shadow side: if agents externalize attention, the risk shifts from skill atrophy to attention atrophy — humans losing the ability to notice what matters
46
+ - [[retrieval utility should drive design over capture completeness]] — early signal: retrieval-first design already prioritizes what to attend to over what to store, implicitly externalizing the attention decision
47
+ - [[processing effort should follow retrieval demand]] — operational form: demand-driven processing is attention allocation by another name; the system directs processing effort to what demonstrates retrieval value
48
+ - [[notes function as cognitive anchors that stabilize attention during complex tasks]] — mechanism: anchoring is how attention externalization works during active reasoning; externalized notes do not merely store knowledge but stabilize the attention system itself
49
+ - [[knowledge systems become communication partners through complexity and memory humans cannot sustain]] — evolution: Luhmann's partnership was memory-based (surprise from forgotten connections); this note argues the partnership is shifting to attention-based (surprise from what the system notices that the human could not attend to)
50
+ - [[progressive disclosure means reading right not reading less]] — implementation: progressive disclosure IS attention externalization at the navigation layer; the system decides what deserves deeper reading, which is an attention allocation decision embedded in architecture
51
+ - [[three capture schools converge through agent-mediated synthesis]] — concrete instance: the capture school convergence is the paradigm shift in action — agents deciding which claims to extract and which connections matter is attention externalization applied to the processing pipeline
52
+ - [[ThreadMode to DocumentMode transformation is the core value creation step]] — the most concrete form: the transformation from chronological ThreadMode to timeless DocumentMode IS an attention externalization act; the agent decides what deserves to become a permanent claim in the knowledge graph versus remaining as ephemeral thread
53
+ - [[hooks enable context window efficiency by delegating deterministic checks to external processes]] — enforcement instance: hook delegation externalizes not what the agent remembers but what the agent attends to; tokens saved from procedural checks become tokens available for genuine reasoning, making hooks the attention paradigm shift operating at the enforcement layer
54
+ - [[implicit knowledge emerges from traversal]] — the training dimension of attention externalization: vault structure does not just direct current attention but shapes future attention patterns through repeated traversal exposure; the agent develops intuitive navigation that bypasses explicit attention allocation, making the vault an attention-shaping substrate not just an attention-directing one
55
+ - [[the vault constitutes identity for agents]] — identity implication: if the vault constitutes identity and the vault is shifting from memory externalization to attention externalization, then agent identity is shifting from 'what you know' to 'what you attend to' — the attention patterns the system embeds become part of who the agent is
56
+ - [[you operate a system that takes notes]] — user-facing frame: names the paradigm shift from the human's perspective; the creator-to-curator role change is the experiential surface of the memory-to-attention shift happening at the system level
57
+
58
+ Topics:
59
+ - [[agent-cognition]]