Skip to content

test: dogfood governance check#1

Closed
jhetchan wants to merge 1 commit into
mainfrom
test/dogfood-governance-check
Closed

test: dogfood governance check#1
jhetchan wants to merge 1 commit into
mainfrom
test/dogfood-governance-check

Conversation

@jhetchan

Copy link
Copy Markdown
Owner

Testing the ExoProtocol GitHub App on the OSS repo itself.

@exoprotocol-governance

Copy link
Copy Markdown

ExoProtocol Governance Check

Verdict: FAIL

PR Governance Check: FAIL
  range: ecb6dc621b4ced4fd05c1cde936ea0f507404cb2..7f7660ed5cbe6a8adf91c4aa2fa9e6108997e0a7
  commits: 1 total, 0 governed, 1 ungoverned
  governance: DRIFT DETECTED
  changed files: 0
  reasons:
    - Governance integrity check failed — constitution drift or missing lock
    - 1 commit(s) made outside any governed session

@jhetchan jhetchan closed this Feb 17, 2026
@jhetchan
jhetchan deleted the test/dogfood-governance-check branch February 17, 2026 09:08
jhetchan added a commit that referenced this pull request Apr 29, 2026
Closes feedback #1: read-only review work shouldn't have to invent a
ticket and burn the full session lifecycle just to get governance
context. `exo brief` (and exo_brief MCP tool) is a context primer that
returns active rules, default budgets, checks_allowlist, active
intents, and recent operational learnings.

- exo/stdlib/compose.py: compose_brief() and format_brief_human().
  Pure read-only: no lock, no memento, no session register.
- exo/cli.py: 'brief' subcommand with --max-intents and --max-reflections.
- exo/mcp_server.py: exo_brief MCP tool (1:1 mirror).
- tests/test_compose.py: 8 new tests in TestComposeBrief covering rule
  loading, intent filtering, list capping, the no-lock and no-memento
  contracts (the central guarantees), human formatter, and end-to-end
  CLI invocation that asserts no session artifacts are produced.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
jhetchan added a commit that referenced this pull request Apr 29, 2026
Closes feedback #2: dirty live checkouts and parallel multi-ticket
work are common, and forcing the agent and the user to fight over
the same workspace is the #1 reason multi-agent parallelism is
painful in practice.

This ticket adds a thin, opt-in worktree primitive built on git's
own `git worktree` machinery. It is decoupled from the session
lifecycle (no kernel changes) — agents create the worktree, cd in,
then run session-start there as normal. The branch convention
(`exo/<ticket-id>`) lines up with the existing session-start
auto-branch so the same code path works either way.

- exo/stdlib/sidecar.py: create_session_worktree,
  remove_session_worktree, list_session_worktrees + helpers.
  Idempotent create; safe-by-default remove (refuses dirty unless
  --force); list filters to branches starting 'exo/' so sidecar
  governance worktree (exo-governance) is excluded.
- exo/cli.py: 'worktree-create', 'worktree-remove', 'worktrees'
  subcommands.
- exo/mcp_server.py: exo_worktree_create, exo_worktree_remove,
  exo_worktrees MCP tools (1:1 mirror).
- tests/test_sidecar_worktree.py: 9 new tests across
  TestSessionWorktreeCreate (path semantics, idempotence, busy/
  non-git refusals) and TestSessionWorktreeListAndRemove (list
  filters, remove takedown, no-op on plain dirs).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
jhetchan added a commit that referenced this pull request Apr 29, 2026
All 8 community-feedback tickets now landed on main:
- A: framework_paths split (#5)
- B: ticket validation hardening (#4)
- C: archive scanner detection (#7a)
- D: exo brief — read-only governance summary (#1)
- E: per-ticket worktree primitives (#2)
- F: exo pr-merge via GitHub API (#3)
- G: exo test-triage stale/regression classifier (#6)
- H: exo archive command + scanner-emitted RULE-ARC-001 (#7b/c)

1627 tests passing, full ruff lint + format clean.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant