Commit graph

11 commits

Author SHA1 Message Date
johba
71fe89cdd0 fix: {project}-ops repo — separate operations from code (#757) (#767)
Fixes #757

## Changes
Separate operations from code into {project}-ops repo pattern. Added OPS_REPO_ROOT infrastructure (env.sh, load-project.sh, formula-session.sh with ensure_ops_repo helper). Updated all 8 agent scripts and 7 formulas to read/write vault items, journals, evidence, prerequisites, RESOURCES.md, and knowledge from the ops repo. Added setup_ops_repo() to disinto init for automatic ops repo creation and seeding. Removed migrated data from code repo (vault data dirs, planner journal/memory/prerequisites, supervisor journal/best-practices, evidence, RESOURCES.md). Updated all documentation. 55 files changed, ShellCheck clean, all 38 phase tests pass.

Co-authored-by: openhands <openhands@all-hands.dev>
Reviewed-on: https://codeberg.org/johba/disinto/pulls/767
Reviewed-by: Disinto_bot <disinto_bot@noreply.codeberg.org>
2026-03-26 19:55:12 +01:00
openhands
b157cc432b fix: Track addressables and observables in root AGENTS.md — gardener maintains lifecycle (#744)
Add mandatory Addressables and Observables sections to AGENTS.md so all
agents have a concrete inventory of what the factory has produced.

- AGENTS.md: add Addressables table (website, repo, skill, GitHub org)
  and empty Observables section
- run-gardener.toml: add portfolio lifecycle duties (add, promote,
  remove, flag) to the grooming step
- run-planner.toml: reference portfolio as planning input
- run-predictor.toml: reference portfolio for weakness detection
2026-03-26 15:56:10 +00:00
openhands
86c8ef4720 fix: feat: kill prediction/backlog — planner must act or dismiss, with action budget (#686)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-25 17:16:13 +00:00
openhands
44cbbbde62 feat: integrate tea CLI for forge issue/label/comment operations (#666)
- Add lib/tea-helpers.sh with tea_file_issue, tea_relabel, tea_comment,
  tea_close — thin wrappers preserving secret scanning on write ops
- Add tea 0.9.2 binary to docker/agents/Dockerfile
- Configure tea login in docker/agents/entrypoint.sh from FORGE_TOKEN/FORGE_URL
- Derive TEA_LOGIN in lib/env.sh (codeberg vs local forgejo)
- Source tea-helpers.sh conditionally when tea binary is available
- Migrate predictor formula from inline curl to tea CLI commands
- Register tea-helpers.sh in smoke test function resolution

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-25 12:20:15 +00:00
openhands
3a7b95046d fix: Project knowledge graph for structural defect detection (#629)
Add lib/build-graph.py that builds a NetworkX DiGraph from project docs
and forge API, runs structural analyses (orphans, cycles, disconnected
clusters, thin objectives, bottlenecks), and outputs a JSON report.

Predictor and reviewer agents now call build-graph.py before launching
their Claude sessions and inject the report as context.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-24 21:24:20 +00:00
openhands
a66bd91721 fix: Replace Codeberg dependency with local Forgejo instance (#611)
- Add setup_forge() to bin/disinto: provisions Forgejo via Docker,
  creates admin + bot users (dev-bot, review-bot), generates API
  tokens, creates repo, and pushes code — all automated
- Rename env vars: CODEBERG_TOKEN→FORGE_TOKEN, REVIEW_BOT_TOKEN→
  FORGE_REVIEW_TOKEN, CODEBERG_REPO→FORGE_REPO, CODEBERG_API→
  FORGE_API, CODEBERG_WEB→FORGE_WEB, CODEBERG_BOT_USERNAMES→
  FORGE_BOT_USERNAMES (with backwards-compat fallbacks)
- Rename API helpers: codeberg_api()→forge_api(), codeberg_api_all()
  →forge_api_all() (with compat aliases)
- Add forge_url field to project TOML; load-project.sh derives
  FORGE_API/FORGE_WEB from forge_url + repo
- Update parse_repo_slug() to accept any host URL, not just codeberg
- Forgejo data stored under ~/.disinto/forgejo/ (not in factory repo)
- Update all 58 files: agent scripts, formulas, docs, site HTML

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-23 16:57:12 +00:00
openhands
14e1c9ecde fix: feat: predictor v3 — abstract adversary with explore/exploit and formula dispatch (#609)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-23 13:56:59 +00:00
openhands
a225b05070 fix: feat: predictor re-evaluates prediction/backlog issues — evolve stale watches into targeted warnings (#588)
Add a re-evaluate-backlog step to the predictor formula between
collect-signals and analyze-and-predict. For each open prediction/backlog
issue, the predictor now reads the original context and planner comments,
extracts the assumptions that made it "watch, don't act", and re-checks
those conditions against current system state.

Three outcomes:
- CONDITIONS_CHANGED → file new prediction/unreviewed, close old as superseded
- STALE (30+ days, conditions stable) → close as prediction/actioned
- UNCHANGED_RECENT → skip (existing behavior)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-23 11:51:43 +00:00
openhands
b417747f89 fix: feat: predictor v2 — outcome measurement + external signal scanning (#547)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-22 11:47:13 +00:00
openhands
0aa6528709 fix: address review — WOODPECKER_SERVER var, update AGENTS.md for new predictor
- Fix bug: replace WOODPECKER_URL with WOODPECKER_SERVER throughout
  run-predictor.toml (CI trends were silently skipped)
- Update AGENTS.md: new Predictor section reflecting predictor/ directory,
  formula-based architecture, daily 06:00 cron, supersedes legacy
  prediction-agent.sh
- Update directory layout, formula-session.sh sourced-by list, label table,
  and planner future-direction anchor
- Remove redundant Completion section from formula (PROMPT_FOOTER handles it)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-20 18:00:21 +00:00
openhands
6fa1bf5ee9 feat: disinto predictor — daily cron-driven formula
Add predictor instance for disinto with formula-driven tmux session pattern
(same as planner-run.sh). Focuses on factory-specific signals: CI pipeline
trends, stale issues, agent health, and resource patterns. Files
prediction/unreviewed issues for the planner to triage.

- formulas/run-predictor.toml: 3-step formula (preflight, collect-signals,
  analyze-and-predict) targeting disinto infrastructure signals
- predictor/predictor-run.sh: thin cron wrapper using formula-session.sh
- Cron: 0 6 * * * (daily 06:00 UTC, 1h before planner at 07:00)
- Sources projects/disinto.toml

Closes #406
2026-03-20 17:29:49 +00:00