Commit Graph

1 Commits

Author SHA1 Message Date
Boden Fuller 940532a9fe feat(paths): state-path resolver foundation (lib/ao-paths.sh + cli/internal/paths) (soc-irg1.1)
Centralized resolver for .agents/ subpaths — replaces scattered hardcoded
paths across hooks and ao subcommands. Honors env precedence:
AO_HOME > CLAUDE_PLUGIN_DATA > \${PWD}/.agents.

- lib/ao-paths.sh: sourceable shell resolver, emits export NAME=value lines
  on stdout. Idempotent. Per-subdir env overrides win over the layout.
- cli/internal/paths/paths.go: Go package with Resolve() / ResolveFromRepo()
  / Validate(). 12 resolved roots: AgentsDir, KnowledgeRoot, HooksDir,
  ScopeLock, RPIDir, FindingsDir, PlansDir, CouncilDir, LearningsDir,
  PatternsDir, DecisionsDir.
- L1 unit + L2 cross-language scenario test asserting shell + Go agree
  for the same env (TestShellGoAgreement: 3 subcases).

KnowledgeRoot intentionally maps to .agents/wiki only (internal compiled
wiki); raw+wiki external knowledge tree is unmapped per f-2026-05-01-005.

This is the foundation; consumer migration lands in I5 under a warn-only
ratchet (per warn-then-fail-ratchet pattern).

Wave 1 of epic soc-irg1 (gstack absorption Tier 1).
2026-05-02 08:15:51 -04:00