6 Commits

Author SHA1 Message Date
salvacybersec
1f5980c101 docs: add Architecture section to README
ASCII diagrams + prose covering:
- Three-source storage model (one persona, three formatted parked archives,
  three lazy mirrors) and why it differs from opc-skills' one-source model
- Data flow for enable/disable with the "[T] not parked" graceful-skip path
- INDEX.json schema tracking parked.{oc,cl,fy} + active[] across 3 targets
- Interactive pick / disable-pick flows: union-of-parked for pick (so a
  feynman-only agent like researcher is reachable), union-of-actives for
  disable-pick, target-picker UX
- --keep-primary semantics across the 3 frontmatter formats
- The fzf {} shell-escape gotcha and the correct quoting pattern
2026-05-01 13:26:44 +03:00
salvacybersec
2120b7b48c feat: feynman target + interactive target picker + fzf preview fix
- Add feynman as third target (~/.feynman/agent/agents) alongside opencode
  and claude. Default targets now: opencode,claude,feynman. Each target
  gets its own parked source dir (formats differ: opencode permission/mode,
  claude PascalCase tools, feynman lowercase tools + thinking/output).
- Fix fzf {} preview shell-escape bug: {} in fzf is shell-escaped, so
  "$PARKED/{}.md" embedded literal quotes into the path and broke preview.
  Switched to "$PARKED"/{}.md across all 8 preview lines.
- pick: union-of-parked across all 3 targets for category list (so a
  feynman-only agent like researcher is reachable). After agent multi-select
  (rows annotated [oc,cl,fy] showing parked-in targets), prompt target
  picker (all / opencode / claude / feynman, TAB for multi).
- disable-pick: rewritten to show union of actives across all 3 targets
  with [oc,cl,fy] indicators, then target picker for which to disable from.
- cmd_status: 3-target counts (parked + active) with all-3 intersection.
- reindex: tracks parked.{opencode,claude,feynman} + active list across 3.
- New env vars: OPC_AGENTS_FEYNMAN_PARKED, OPC_AGENTS_FEYNMAN_ACTIVE.
2026-05-01 13:14:06 +03:00
salva
7587c02a9f feat: enable-all command (symmetric to disable-all)
Bulk-enable every parked agent into selected target(s) from THAT
target's parked source (format-aware). Idempotent — skips already-active.

usage: opc-agents enable-all [--target T] [-y|--yes]
2026-05-01 00:23:21 +03:00
salva
72f02387eb feat: multi-target (opencode + claude) with per-target parked sources
- opencode and claude use different agent frontmatter formats (permission vs tools)
  so opc-agents keeps a SEPARATE parked source per target.
- New env vars: OPC_AGENTS_CLAUDE_PARKED, OPC_AGENTS_CLAUDE_ACTIVE,
  OPC_AGENTS_TARGETS. Existing OPC_AGENTS_PARKED still works (opencode side).
- enable/disable/disable-all accept --target {opencode|claude|both} (default both).
- Reindex scans both parked sources + both active dirs; INDEX exposes
  parked.{opencode,claude} (whether source available) and active list.
- INDEX.md table includes Parked/Active columns per agent.
- Default parked locations moved to personas/agents-{opencode,claude}-archive
  with backward-compat symlink at ~/Documents/opencode-agents-parked.
2026-04-30 23:47:05 +03:00
salva
aaeb31f3ca feat: variant + domain bulk ops, enriched INDEX schema
- variants : suffix distribution counts (salva, iran, russian-doctrine, ...)
- enable-variant  / disable-variant  : bulk by filename suffix
- enable-domain   / disable-domain   : bulk by frontmatter Domain (live scan)
- INDEX.json now exposes persona, variant, domain
- INDEX.md columns expanded; top-domains and top-variants summaries
- search/disable-search now also match domain & variant
- regex fix: 'c2-hunting' was being parsed as 'c' (digit not allowed)
2026-04-30 22:01:56 +03:00
salva
ba0b744656 initial: opc-agents standalone tool 2026-04-30 21:52:24 +03:00