Files
oikos/plans/index.md
dtoro e074f04bdf feat: Phase 0 of hexagonal refactor — ADR 0016, core scaffold, depguard rules
Problem: the hexagonal-architecture plan (plans/2026-08-15-hexagonal-
architecture.md) needs its foundation — an accepted ADR, the target
directory tree, and machine-checked dependency rules — before any
service extraction starts. Also folds the four outstanding review
findings (F3.1/F5/F6/F7) into the plan: ObservationService owns the
bounded probe-concurrency contract (scheduler.go:133), Phase 9 gates
ExecutionService+PolicyService ≥ 90% with a gating-matrix test,
per-phase abort criteria, and the §3.2 internal/config note.

Change:
- docs/adr/0016-hexagonal-ports-adapters.md records context, decision,
  and consequences of the ports & adapters migration.
- internal/domain → internal/core/domain (mechanical import rewrite,
  20 files), new internal/core/{ports,app}, internal/adapters trees
  with package docs.
- .golangci.yml: depguard rules for §3.1 (core purity, no agent-client
  tech in core, nomos isolation — the nomos rules self-activate when
  internal/nomos exists in Phase 8). Config migrated to golangci-lint
  v2 format so it loads at all (the v1 config errored under v2, masked
  by CI's advisory continue-on-error). Verified depguard fires on a
  planted openai-go import in internal/core/app.
- CONTRIBUTING.md layout section now shows the core/adapters tree.

Risk: import path churn is mechanical and tests pass unchanged; the
lint config migration surfaces the pre-existing 400-issue baseline
(advisory in CI, unchanged policy) — new/moved packages lint clean.

Verification: go vet ./..., make test (race, core/domain at 100%
coverage), make generate-check, golangci-lint on internal/core/... and
internal/adapters/... — 0 issues; depguard violation probe confirmed.
2026-08-15 22:09:19 +02:00

7.6 KiB
Raw Blame History

Plans

Pre-flight runbooks for planned changes. When a plan is executed, move it to done/ and add changelog entries on affected node pages. If things went sideways, open an investigation.

Active

Date Title Status
2026-07-05 Oikos Prometheus LXC Planned — not started
2026-07-08 Oikos gaps, broken things, and improvements In Progress — security items (B1-B5) and doc drift (E) still open
2026-07-08 Control room web UI In Progress — packaging/auth sections superseded by the Wails plan's Phase 0 (client/server split); M4 still open
2026-07-08 Liveness, drift, and UX cohesion In Progress — Phase 5 deferred
2026-07-10 General gated execution: unlimited actions, gated by risk In Progress — request_execution enum retired (60effcb); only auto-act revival (item 10) still open
2026-07-11 Nomos agent code review: gaps and improvement plan In Progress — only C1 (unauthenticated nomos gateway) still open, deferred
2026-07-14 Activity gaps In Progress
2026-07-14 Activity timeline In Progress
2026-07-17 Codebase review, lint audit, and documentation maintenance Report delivered — doc/tooling fixes applied; code refactors pending
2026-07-20 Mascot physics/window-interaction audit P0P2 implemented; P3 ("cool stuff") ideas open
2026-07-21 Frontend as OS + Apps — architecture audit & refactor Planned — Phase 1 ready
2026-08-04 Hermes MCP client integration Done — deployed
2026-08-05 Agent execution safety: QEMU guest agent gate + host-mutation guard Done — implemented (1b9c761)
2026-08-05 Backend evaluation: architecture, security, and reliability improvements Done — all three phases (B, D, E) implemented as code (0.28.00.29.0), deployed, and hardened via review. Remaining: C (security) and F (performance) backlog.
2026-08-15 Hexagonal architecture — design and phased refactor In Progress — Phase 0 done (ADR 0016, core scaffold, domain moved, depguard)

Done

See done/ for executed plans:

Date Title
2026-06-01 Slate AX → SODOLA managed switch migration
2026-06-04 Deprecate claudio-bot
2026-06-25 Yuvomi deployment — house.hubris.network
2026-06-29 Grimmory migration — Booklore → dedicated LXC
2026-06-24 TRMNL plugins LXC (128) + middleware deploy pipeline
2026-07-06 Adopt wiki-hq doc architecture
2026-07-07 MCP tool completion — Hermes operator interface
2026-07-07 DB as single source of truth for agent knowledge
2026-07-07 Comprehensive audit: stale files, state gaps, and next steps
2026-07-07 Client lifecycle in Go — enrollment through deprecation
2026-07-08 Fix MCP analysis tools
2026-07-06 Consolidate Oikos control plane onto mac-mini
2026-07-08 Signal triggers: host health checks
2026-07-08 Plan vs implementation cross-reference
2026-07-08 Nomos resident agent (renames Hermes)
2026-07-09 Chat sessions: reliability, cost, and session-management fixes
2026-07-09 Session execution, UX, and learning improvements
2026-07-10 Autonomous plan execution: close the observation gap
2026-07-11 Tasks: the chat page as goal-structured autonomous work
2026-07-11 Concurrent task execution: safety + throughput + frontend correctness
2026-07-11 UI review: information architecture, usability, and best practices
2026-07-11 Task completion safety net: every live task is stuck "Running"
2026-07-12 Wails desktop application
2026-07-13 MCP tool apps: custom in-chat renderers
2026-07-14 Session reliability & UX audit
2026-07-14 Tool timeline in sidebar
2026-07-14 Unified agent activity indicator
2026-07-14 Post-fix session remainders: empty responses & plan drift
2026-07-15 Plan-first and iteration
2026-07-15 WhatsApp session audit
2026-07-18 Session review: three recent sessions
2026-07-20 Desktop mascot ("Cluck")
2026-07-20 Session review: past 10 sessions
2026-07-21 Chat window full polish
2026-07-29 Make health reflect reality + complete the knowledge graph
2026-07-30 Session review: plan drift & dead activity panel
2026-08-03 Nomos chat changes review (P0/P1/P2)
2026-08-03 Nomos chat: reliability & predictability audit
2026-08-03 Adopt cyberspace.online terminal aesthetic + dithered images
2026-08-03 Nomos chat: working-visibility, message queue, generation-aware timeline
2026-08-04 Chat interaction overhaul: inline progressive stream + thinking blocks

Conventions

  • File name: YYYY-MM-DD-<slug>.md. Use the target date if known, otherwise the planning date.
  • Status: PlannedIn ProgressDone (move to done/ on completion).
  • When done: add a changelog entry on every affected node page, then move the file to done/.
  • Plans are append-only once execution starts — don't rewrite pre-flight intent after the fact.