Feat/gource acpx context#12
Open
Fiooodooor wants to merge 6 commits into
Open
Conversation
Includes Gource visualization, ACPX spawn backend/transport, and git context layer (conflicts, context). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Keep original README content including Korean docs link. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
Pull request overview
This PR introduces a git “context layer” and Gource visualization tooling to improve cross-agent awareness in multi-worktree workflows, while also refactoring spawn backends to centralize native CLI command preparation and explicitly rejecting the removed acpx backend.
Changes:
- Added
clawteam.workspace.context+clawteam.workspace.conflictsto compute per-agent diffs, cross-branch logs, file ownership, and overlap/conflict warnings (plus new CLIclawteam context ...commands). - Added
clawteam board gourcecommand andclawteam.board.gourcelog generation/launching, with tests. - Refactored spawn backends to use a new
NativeCliAdapter, and added tests ensuringacpxis rejected.
Reviewed changes
Copilot reviewed 15 out of 15 changed files in this pull request and generated 8 comments.
Show a summary per file
| File | Description |
|---|---|
| tests/test_spawn_cli.py | Adds regression tests asserting acpx backend is rejected for spawn and launch. |
| tests/test_spawn_backends.py | Extends tmux backend test expectations for additional exported environment variables. |
| tests/test_gource.py | Adds unit tests for Gource log generation and live streaming helpers. |
| tests/test_context.py | Adds unit tests for resolving repo root via workspace registry vs explicit repo. |
| clawteam/workspace/context.py | New context layer for agent diff stats, file ownership, cross-branch log, and prompt injection text. |
| clawteam/workspace/conflicts.py | New conflict/overlap detection, auto-notify, and rebase suggestion helpers. |
| clawteam/spawn/tmux_backend.py | Switches to NativeCliAdapter, adds context flag env var, and changes env export behavior. |
| clawteam/spawn/subprocess_backend.py | Switches to NativeCliAdapter and stores final command in registry. |
| clawteam/spawn/prompt.py | Extends agent prompt to optionally inject cross-agent git context. |
| clawteam/spawn/adapters.py | New centralized native CLI command preparation logic. |
| clawteam/config.py | Adds gource-related config fields and env var mappings. |
| clawteam/cli/commands.py | Expands config show keys, adds board gource, and adds new context CLI commands. |
| clawteam/board/renderer.py | Adds conflict panel rendering and periodic conflict auto-notification during live view. |
| clawteam/board/gource.py | New Gource integration: generate logs from events/git context, launch/export/live stream. |
| clawteam/board/collector.py | Adds conflict/overlap data into collected team board payload. |
| - low: agents changed files in the same directory | ||
| """ | ||
| owners = file_owners(team_name, repo) | ||
| mgr = _ws_manager(repo) |
Comment on lines
+76
to
+80
| # Periodically run conflict auto-notification | ||
| notify_counter += 1 | ||
| if notify_counter >= notify_interval: | ||
| notify_counter = 0 | ||
| try: |
Comment on lines
+119
to
123
| help="Config key (e.g. data_dir, user, transport, workspace, default_backend, skip_permissions, gource_path)", | ||
| ), | ||
| value: str = typer.Argument(..., help="Config value"), | ||
| ): | ||
| """Persistently set a configuration value.""" |
Comment on lines
+369
to
+373
| gource_proc = subprocess.Popen( | ||
| cmd, | ||
| stdout=subprocess.PIPE, | ||
| ) | ||
|
|
Comment on lines
52
to
56
| clawteam_bin = resolve_clawteam_executable() | ||
| env_vars = { | ||
| env_vars = os.environ.copy() | ||
| env_vars.update({ | ||
| "CLAWTEAM_AGENT_ID": agent_id, | ||
| "CLAWTEAM_AGENT_NAME": agent_name, |
Comment on lines
+19
to
+23
| Severity: | ||
| - high: agents changed the same lines | ||
| - medium: agents changed the same file (different lines) | ||
| - low: agents changed files in the same directory | ||
| """ |
Comment on lines
+130
to
+134
| Returns list of dicts with: file, conflict_markers (bool), details. | ||
| """ | ||
| mgr = _ws_manager(repo) | ||
| branch_a = _agent_branch(team_name, agent_a) | ||
| branch_b = _agent_branch(team_name, agent_b) |
Comment on lines
+236
to
+240
| Returns a suggestion string, or None if no rebase is needed. | ||
| """ | ||
| mgr = _ws_manager(repo) | ||
| branch = _agent_branch(team_name, agent_name) | ||
| base = _base_branch(team_name, agent_name, mgr) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Change Type
Scope
NIC Porting Context (if applicable)
Gate Checklist (NIC porting PRs)
Linked Issue/PR
Root Cause / Regression History (if applicable)
Risk Register Impact
Regression Test Plan
For bug fixes, name the test(s) that would have caught this. For porting slices,
list the TDD tests that validate the change. Otherwise write
N/A.User-visible / Behavior Changes
List user-visible changes (including defaults/config).
If none, write
None.Diagram (if applicable)
For UI changes or non-trivial logic flows, include a small ASCII diagram reviewers can scan quickly. Otherwise write
N/A.Security Impact (required)
Yes/No)Yes/No)Yes/No)Yes/No)Yes/No)Yes, explain risk + mitigation:Repro + Verification
Environment
Steps
Expected
Actual
Evidence
Attach at least one:
Human Verification (required)
What you personally verified (not just CI), and how:
Review Conversations
If a bot review conversation is addressed by this PR, resolve that conversation yourself. Do not leave bot review conversation cleanup for maintainers.
Compatibility / Migration
Yes/No)Yes/No)Yes/No)Risks and Mitigations
List only real risks for this PR. Add/remove entries as needed. If none, write
None.