|
| 1 | +// SPDX-License-Identifier: AGPL-3.0-or-later |
| 2 | += Changelog |
| 3 | + |
| 4 | +All notable changes to the Anamnesis project will be documented in this file. |
| 5 | + |
| 6 | +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), |
| 7 | +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). |
| 8 | + |
| 9 | +== [Unreleased] |
| 10 | + |
| 11 | +=== Added |
| 12 | +- Comprehensive RSR (Rhodium Standard Repository) compliance |
| 13 | + - LICENSE.txt (dual MIT + Palimpsest v0.8) |
| 14 | + - SECURITY.md with vulnerability reporting |
| 15 | + - CONTRIBUTING.md with TPCF Perimeter 2 classification |
| 16 | + - CODE_OF_CONDUCT.md based on CCCP principles |
| 17 | + - MAINTAINERS.md with team structure |
| 18 | + - .well-known/ directory (security.txt RFC 9116, ai.txt, humans.txt) |
| 19 | +- RSR compliance audit document (docs/RSR_COMPLIANCE_AUDIT.md) |
| 20 | + |
| 21 | +== [0.1.0-alpha] - 2025-11-22 |
| 22 | + |
| 23 | +=== Added |
| 24 | + |
| 25 | +==== Project Foundation |
| 26 | +- Initial repository structure and organization |
| 27 | +- CLAUDE.md with comprehensive project guidance |
| 28 | +- README.md with project overview and getting started guide |
| 29 | +- Complete multi-language component structure (parser, orchestrator, reasoning, learning, visualization) |
| 30 | + |
| 31 | +==== Research & Architecture |
| 32 | +- 6 comprehensive research reports (AsciiDoc format): |
| 33 | + - Julia RDF Ecosystem Analysis (Serd.jl, SPARQL via HTTP.jl) |
| 34 | + - Julia Reservoir Computing Survey (ReservoirComputing.jl, KBANN) |
| 35 | + - PuppyGraph Evaluation (recommendation: stick with Virtuoso) |
| 36 | + - ReScript Visualization Ecosystem (Reagraph, rescript-recharts) |
| 37 | + - OCaml Parsing & Elixir Bridge (Angstrom, ports over NIFs) |
| 38 | + - λProlog/ELPI Meta-Reasoning (HOAS, integration patterns) |
| 39 | +- System architecture document (docs/architecture/system-architecture.adoc, 50+ sections) |
| 40 | +- RDF schema/ontology (docs/specifications/rdf-schema.ttl, Turtle format) |
| 41 | + |
| 42 | +==== Parser Component (OCaml) |
| 43 | +- ATD schema definitions (conversation_types.atd) |
| 44 | +- Generic conversation module with validation and utilities |
| 45 | +- Claude JSON format parser with artifact extraction |
| 46 | +- Dune build system configuration |
| 47 | +- Port interface scaffolding (Erlang External Term Format via Alberto) |
| 48 | + |
| 49 | +==== Orchestrator Component (Elixir) |
| 50 | +- OTP application with supervision tree |
| 51 | +- ParserPort GenServer for OCaml communication |
| 52 | +- PortSupervisor for process management |
| 53 | +- IngestionPipeline with full parse→reason→RDF→store flow |
| 54 | +- Mix project configuration |
| 55 | +- Development and test configurations |
| 56 | + |
| 57 | +==== Reasoning Component (λProlog/ELPI) |
| 58 | +- Artifact lifecycle state machine (lifecycle/artifact_states.elpi) |
| 59 | +- Fuzzy multi-category membership logic (categorization/fuzzy_membership.elpi) |
| 60 | +- Contamination detection for cross-project artifacts (categorization/contamination.elpi) |
| 61 | +- Example queries and test data |
| 62 | + |
| 63 | +==== Learning Component (Julia) |
| 64 | +- Project structure with dependencies (Project.toml) |
| 65 | +- RDF schema constants module |
| 66 | +- RDF serialization (conversation → triples → N-Triples) |
| 67 | +- Port interface for Elixir communication |
| 68 | +- Module scaffolding for reservoir computing and KBANN |
| 69 | + |
| 70 | +==== Visualization Component (ReScript) |
| 71 | +- Type-safe domain model with phantom types (Domain.res) |
| 72 | +- Color mixing for fuzzy project categorization (ColorMixing.res) |
| 73 | +- ReScript compiler and npm configuration |
| 74 | +- Component scaffolding |
| 75 | + |
| 76 | +==== Documentation |
| 77 | +- Component-specific READMEs (parser, orchestrator, reasoning, learning, visualization) |
| 78 | +- Autonomous development session summary (docs/AUTONOMOUS_SESSION_SUMMARY.adoc) |
| 79 | +- Architecture and design documentation |
| 80 | +- Contribution guidelines |
| 81 | + |
| 82 | +=== Technical Decisions |
| 83 | +- **NO PYTHON constraint** enforced throughout (Julia for scientific computing) |
| 84 | +- Type safety via OCaml, Elixir typespecs, ReScript, Julia type annotations |
| 85 | +- Functional paradigm across all components |
| 86 | +- Fault tolerance through OTP supervision trees and Erlang ports |
| 87 | +- Multi-LLM support designed from the start (stubbed complexity initially) |
| 88 | +- Academic rigor in documentation and research |
| 89 | + |
| 90 | +=== Known Issues |
| 91 | +- No test infrastructure yet (planned for Phase 2) |
| 92 | +- Starter code only (not production-ready) |
| 93 | +- Some dependencies not yet installed (see component READMEs) |
| 94 | +- No CI/CD pipeline yet (planned) |
| 95 | + |
| 96 | +=== Migration Notes |
| 97 | +- Project in planning phase → initial implementation |
| 98 | +- TPCF Perimeter 2 (Trusted Collaborators) - limited write access |
| 99 | +- Will migrate to Perimeter 3 (Community Sandbox) post-Milestone 1 |
| 100 | + |
| 101 | +== Versioning Policy |
| 102 | + |
| 103 | +Anamnesis follows [Semantic Versioning 2.0.0](https://semver.org/): |
| 104 | + |
| 105 | +- **MAJOR.MINOR.PATCH** (e.g., 1.2.3) |
| 106 | + - **MAJOR**: Breaking changes (incompatible API changes) |
| 107 | + - **MINOR**: New features (backward-compatible) |
| 108 | + - **PATCH**: Bug fixes (backward-compatible) |
| 109 | + |
| 110 | +**Pre-release versions**: |
| 111 | +- **0.y.z**: Initial development (API may change without notice) |
| 112 | +- **alpha**: Unstable, experimental (current phase) |
| 113 | +- **beta**: Feature-complete, needs testing |
| 114 | +- **rc**: Release candidate, stabilization |
| 115 | + |
| 116 | +**Current status**: `0.1.0-alpha` (planning phase, not production-ready) |
| 117 | + |
| 118 | +== Release Schedule |
| 119 | + |
| 120 | +**Planned Milestones**: |
| 121 | + |
| 122 | +- **Milestone 1** (Q2 2026): Parse single Claude conversation JSON → Virtuoso RDF triples |
| 123 | +- **Milestone 2** (Q3 2026): Multi-format parsing (ChatGPT, Mistral, Git) |
| 124 | +- **Milestone 3** (Q4 2026): λProlog reasoning and contamination detection |
| 125 | +- **1.0.0** (2027): Production-ready, stable API |
| 126 | + |
| 127 | +Actual dates subject to change based on development progress and community contributions. |
| 128 | + |
| 129 | +== How to Read This Changelog |
| 130 | + |
| 131 | +- **[Unreleased]**: Changes in development, not yet released |
| 132 | +- **[Version]**: Released version with date |
| 133 | +- **Added**: New features, files, components |
| 134 | +- **Changed**: Changes to existing functionality |
| 135 | +- **Deprecated**: Features marked for removal (will warn in next MAJOR) |
| 136 | +- **Removed**: Features removed (breaking change) |
| 137 | +- **Fixed**: Bug fixes |
| 138 | +- **Security**: Security fixes (always highlighted) |
| 139 | + |
| 140 | +== Contributing to Changelog |
| 141 | + |
| 142 | +When submitting a PR, update the `[Unreleased]` section with your changes in the appropriate category. Maintainers will move entries to versioned sections upon release. |
| 143 | + |
| 144 | +For more information, see [CONTRIBUTING.md](CONTRIBUTING.md). |
| 145 | + |
| 146 | +--- |
| 147 | + |
| 148 | +**Legend**: |
| 149 | +- 🎉 Major milestone |
| 150 | +- ⚡ Breaking change |
| 151 | +- 🐛 Bug fix |
| 152 | +- 📝 Documentation |
| 153 | +- 🔒 Security fix |
| 154 | +- ⚠️ Deprecated feature |
| 155 | + |
| 156 | +**Links**: |
| 157 | +- [Unreleased]: https://github.com/Hyperpolymath/anamnesis/compare/v0.1.0-alpha...HEAD |
| 158 | +- [0.1.0-alpha]: https://github.com/Hyperpolymath/anamnesis/releases/tag/v0.1.0-alpha |
0 commit comments