Skip to content

Feat/gource acpx context#12

Open
Fiooodooor wants to merge 6 commits into
Fiooodooor:mainfrom
HKUDS:feat/gource-acpx-context
Open

Feat/gource acpx context#12
Fiooodooor wants to merge 6 commits into
Fiooodooor:mainfrom
HKUDS:feat/gource-acpx-context

Conversation

@Fiooodooor
Copy link
Copy Markdown
Owner

Summary

  • Problem:
  • Why it matters:
  • What changed:
  • What did NOT change (scope boundary):

Change Type

  • Bug fix
  • Feature
  • Refactor
  • NIC porting slice (specify phase + role below)
  • Docs
  • Security hardening
  • Chore/infra

Scope

  • ClawTeam CLI / orchestration
  • Spawn / backends
  • Skills / tool execution
  • MCP server / transport
  • Task board / inbox
  • NIC porting agents / identities
  • Templates / profiles
  • Tests
  • CI/CD / infra
  • Docs

NIC Porting Context (if applicable)

Field Value
Driver
Target OS
Phase
Role
Board Task ID

Gate Checklist (NIC porting PRs)

  • native_score >= 98.0 (no framework/non-native API calls)
  • portability_score >= 95.0 (cross-compile matrix clean)
  • test_pass_rate = 100% (all TDD tests green)
  • build_status = green (Linux + FreeBSD compile)
  • critical_risks = 0 (no open critical risks in register)
  • Zero-copy verified (no memcpy in hot paths)
  • DMA sync discipline followed (PREWRITE/POSTREAD bracketing)
  • Checker agent PASS verdict attached

Linked Issue/PR

  • Closes #
  • Related #
  • This PR fixes a bug or regression

Root Cause / Regression History (if applicable)

  • Root cause:
  • Missing detection / guardrail:
  • Prior context:
  • Why this regressed now:

Risk Register Impact

  • No new risks introduced
  • New risk(s) added to register with mitigation owner
  • Existing risk(s) mitigated or closed (specify IDs):

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.

  • Coverage level that should have caught this:
    • Unit test
    • Seam / integration test
    • End-to-end test
    • Existing coverage already sufficient
  • Target test or file:
  • Scenario the test should lock in:
  • Why this is the smallest reliable guardrail:
  • Existing test that already covers this (if any):
  • If no new test is added, why not:

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.

Before:
[user action] -> [old state]

After:
[user action] -> [new state] -> [result]

Security Impact (required)

  • New permissions/capabilities? (Yes/No)
  • Secrets/tokens handling changed? (Yes/No)
  • New/changed network calls? (Yes/No)
  • Command/tool execution surface changed? (Yes/No)
  • Data access scope changed? (Yes/No)
  • If any Yes, explain risk + mitigation:

Repro + Verification

Environment

  • OS:
  • Runtime/container:
  • Model/provider:
  • Integration/channel (if any):
  • Relevant config (redacted):

Steps

Expected

Actual

Evidence

Attach at least one:

  • Failing test/log before + passing after
  • Trace/log snippets
  • Screenshot/recording
  • Perf numbers (if relevant)

Human Verification (required)

What you personally verified (not just CI), and how:

  • Verified scenarios:
  • Edge cases checked:
  • What you did not verify:

Review Conversations

  • I replied to or resolved every bot review conversation I addressed in this PR.
  • I left unresolved only the conversations that still need reviewer or maintainer judgment.

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

  • Backward compatible? (Yes/No)
  • Config/env changes? (Yes/No)
  • Migration needed? (Yes/No)
  • If yes, exact upgrade steps:

Risks and Mitigations

List only real risks for this PR. Add/remove entries as needed. If none, write None.

  • Risk:
    • Mitigation:

tjb-tech and others added 6 commits March 18, 2026 06:09
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>
Copilot AI review requested due to automatic review settings May 9, 2026 16:45
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.conflicts to compute per-agent diffs, cross-branch logs, file ownership, and overlap/conflict warnings (plus new CLI clawteam context ... commands).
  • Added clawteam board gource command and clawteam.board.gource log generation/launching, with tests.
  • Refactored spawn backends to use a new NativeCliAdapter, and added tests ensuring acpx is 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 thread clawteam/cli/commands.py
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 thread clawteam/board/gource.py
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)
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.

3 participants