|
| 1 | +# CHANGELOG — arifOS Constitutional AI Kernel |
| 2 | + |
| 3 | +All changes follow [T000 versioning](T000_VERSIONING.md): `YYYY.MM.DD-PHASE-STATE`. |
| 4 | +**Creed:** DITEMPA BUKAN DIBERI — Forged, Not Given. |
| 5 | + |
| 6 | +--- |
| 7 | + |
| 8 | +## [2026.2.17] — 2026-02-17 — FORGE-VPS-SEAL |
| 9 | + |
| 10 | +**T000:** 2026.02.17-FORGE-VPS-SEAL |
| 11 | +**Theme:** Infrastructure sovereignty + H1.1 Production Observability |
| 12 | + |
| 13 | +### Added |
| 14 | +- **H1.1 Production Observability** — `/health` now returns granular governance metrics: |
| 15 | + - `postgres.status` / `postgres.lag_ms` — VAULT999 ledger liveness |
| 16 | + - `redis.status` / `redis.version` — MindVault session cache liveness |
| 17 | + - `core_pipeline.verdict` — Live constitutional pipeline verdict on health check |
| 18 | + - `mcp_tools.tool_count` — Count of registered MCP tools |
| 19 | + - `memory.percent` / `memory.available` — Host memory pressure |
| 20 | +- **Starlette lifespan context** in `aaa_mcp/rest.py` — health checks now register on |
| 21 | + application startup instead of requiring `main()` to be called |
| 22 | +- `EnvironmentFile=/opt/arifos/.env` in systemd unit — secrets loaded securely from disk, |
| 23 | + not baked into service file |
| 24 | + |
| 25 | +### Fixed |
| 26 | +- `HealthMonitor.check_all` now merges dict return values from individual checks instead |
| 27 | + of discarding sub-fields (postgres lag, redis version, pipeline verdict were all silently lost) |
| 28 | +- `HealthMonitor.status[name]` now correctly reflects `{"status": False}` dict results |
| 29 | + (previously `bool(dict)` was always `True`) |
| 30 | +- `redis_client.get_redis_client` replaced brittle manual URL parser with `redis.from_url` |
| 31 | + — fixes crash on `redis://localhost:6379/0` (DB index `/0` broke `int(port_str)`) |
| 32 | +- Postgres `permission denied for schema public` — granted `ALL ON SCHEMA public TO arifos` |
| 33 | +- `monitoring.py` critical tool list updated to use MCP verb names (`anchor`, `reason`, …) |
| 34 | + instead of internal graph names (`init_gate`, `agi_sense`, …) |
| 35 | +- `rest.py` missing stdlib imports (`datetime`, `asyncio`, `uvicorn`, `json`, `time`, `uuid`) |
| 36 | + that caused `NameError` on VPS startup after import refactor |
| 37 | + |
| 38 | +### Changed |
| 39 | +- **Deployment platform: Railway → Hostinger VPS** (primary) |
| 40 | + - `railway.toml` deleted |
| 41 | + - `docker-compose.railway-local.yml` → `docker-compose.yml` |
| 42 | + - `DEPLOYMENT.md` rewritten for VPS (systemd + nginx + certbot) |
| 43 | + - `arifosmcp.nginx.conf` rewritten: proxy to port 8080, SSE-safe (no buffering, `proxy_buffering off`) |
| 44 | + - `server.json` SSE URL updated: `arifos-production.up.railway.app` → `arifosmcp.arif-fazil.com` |
| 45 | +- `pyproject.toml` URLs corrected: `aaamcp.arif-fazil.com` → `arifosmcp.arif-fazil.com` |
| 46 | + |
| 47 | +### Infrastructure (VPS) |
| 48 | +- Systemd service `arifos-mcp.service` — auto-start, `Restart=always`, `RestartSec=5` |
| 49 | +- Nginx reverse proxy with SSL (Let's Encrypt) — `arifosmcp.arif-fazil.com` |
| 50 | +- PostgreSQL 17 (native) + Redis 8.0.2 (native) — both healthy and connected |
| 51 | + |
| 52 | +--- |
| 53 | + |
| 54 | +## [2026.2.15] — 2026-02-15 — FORGE-TRINITY-SEAL |
| 55 | + |
| 56 | +**T000:** 2026.02.15-FORGE-TRINITY-SEAL |
| 57 | +**Theme:** Codebase consolidation + MCP schema alignment + T000 versioning |
| 58 | + |
| 59 | +### Added |
| 60 | +- `core/shared/sbert_floors.py` — SBERT-based semantic floor classifier for F5/F6/F9 |
| 61 | + replacing keyword heuristics (H1.2 foundation); lazy-loads `all-MiniLM-L6-v2` |
| 62 | +- `aaa_mcp/config/capability_modules.yaml` — migrated from `arifos/config/` |
| 63 | +- `MCP_NAME_TO_REGISTRY` dict and `get_tool_by_mcp_name()` in `aaa_mcp/protocol/tool_registry.py` |
| 64 | +- `MCP_TO_GRAPH` dict in `aaa_mcp/protocol/tool_graph.py` |
| 65 | +- `trinity_forge` added to `server.json` (was implemented but missing from schema) |
| 66 | +- `AGENTS.md` rewritten as focused 150-line agent guide for coding agents |
| 67 | + |
| 68 | +### Removed |
| 69 | +- `arifos/` — entire pre-v52 legacy package (no `__init__.py`, not importable, 3 dead files) |
| 70 | +- `codebase/` — 82 files / 21,047 lines of dead code (agi/, asi/, apex/, init/, shared/, vault/) |
| 71 | + Runtime (`aaa_mcp/server.py`) was already importing 100% from `core/` |
| 72 | +- `core/asi/` — single-file subdirectory; `sbert_floors.py` moved to `core/shared/` |
| 73 | +- `build/` — stale setuptools artifact directory |
| 74 | +- `railway.toml`, `docker-compose.railway-local.yml` (renamed) |
| 75 | +- 6 test files archived to `tests/archive/` (depended on deleted `codebase/` / `arifos/` APIs) |
| 76 | + |
| 77 | +### Fixed |
| 78 | +- `server.json` floor descriptions now match actual `@constitutional_floor()` decorators |
| 79 | + (e.g. `align` was claiming F5+F6+F9 but decorator is only F9) |
| 80 | +- `core/shared/floors.py` F8 Genius check removed stale `from codebase.floors.genius import` |
| 81 | + try/except; collapsed to the fallback path that was always running |
| 82 | +- `pyproject.toml` stale `arifos*` / `codebase*` package discovery entries removed |
| 83 | +- mypy overrides updated from `arifos.*` to `core.*` |
| 84 | + |
| 85 | +### Changed |
| 86 | +- `core/organs/_2_asi.py` import: `from core.asi.sbert_floors` → `from core.shared.sbert_floors` |
| 87 | +- `aaa_mcp/server.py` capability YAML path: `../arifos/config/…` → `config/…` (local) |
| 88 | + |
| 89 | +--- |
| 90 | + |
| 91 | +## [2026.1.26] — 2026-01-26 — LIVE-DASHBOARD-SEAL |
| 92 | + |
| 93 | +**Theme:** Live governance metrics, dashboard integration, constitutional floor pass 13/13 |
| 94 | + |
| 95 | +### Added |
| 96 | +- `LiveMetricsService` — real-time constitutional metrics from VAULT999 ledger |
| 97 | +- Live τ (truth), κᵣ (empathy), Ψ (vitality), ΔS (clarity) computation |
| 98 | +- `/metrics/json` endpoint serving live data with `calibration_mode` transparency |
| 99 | + |
| 100 | +### Fixed |
| 101 | +- Removed all static placeholder metrics (0.99, 0.98, 0.85) |
| 102 | +- τ now computed from actual eval harness; Ω₀ from uncertainty engine |
| 103 | + |
| 104 | +--- |
| 105 | + |
| 106 | +## [2026.1.24] — 2026-01-24 — UNIFIED-CORE-SEAL |
| 107 | + |
| 108 | +**Theme:** AAA_MCP unified, pure bridge architecture |
| 109 | + |
| 110 | +### Changed |
| 111 | +- `aaa_mcp/` becomes pure transport adapter — all decision logic moved to `core/` |
| 112 | +- `core/` established as the single decision kernel with no transport imports |
| 113 | + |
| 114 | +--- |
| 115 | + |
| 116 | +## [2026.1.18] — 2026-01-18 — CONSTITUTIONAL-FORGE |
| 117 | + |
| 118 | +**Theme:** 13 Constitutional Floors, Trinity Engines, MCP foundation |
| 119 | + |
| 120 | +### Added |
| 121 | +- 13 constitutional floors F1–F13 with hard/soft enforcement |
| 122 | +- Trinity architecture (ΔΩΨ): AGI Mind, ASI Heart, APEX Soul |
| 123 | +- 9-tool MCP pipeline: anchor → reason → integrate → respond → validate → align → forge → audit → seal |
| 124 | +- VAULT999 immutable ledger with Merkle chaining |
| 125 | +- `@constitutional_floor()` decorator for automatic floor enforcement |
| 126 | + |
| 127 | +--- |
| 128 | + |
| 129 | +*Format: [T000 Date] — Date — PHASE-STATE | Full spec: T000_VERSIONING.md* |
0 commit comments