sysadmin
36fe4785ec
Merge pull request 'feat(mcp): post-restart reconciliation and completion proof ( Closes #662 )' ( #879 ) from fix/issue-662-post-restart-reconcile into master
2026-07-24 09:04:23 -05:00
jcwalker3
1232789b41
Merge branch 'master' into fix/issue-662-post-restart-reconcile
2026-07-24 09:01:48 -05:00
sysadmin
2976c21ee6
Merge pull request 'test( #878 ): #628 building-block regression coverage (child of #628 )' ( #795 ) from feat/issue-628-autonomous-handoffs-orchestration into master
2026-07-24 08:51:56 -05:00
jcwalker3
2602605c83
Merge branch 'master' into feat/issue-628-autonomous-handoffs-orchestration
2026-07-24 08:50:34 -05:00
jcwalker3
ae31e1e852
Merge pull request 'feat(webui): model usage, token cost, latency, and performance analytics ( Closes #651 )' ( #876 ) from feat/issue-651-usage-cost-analytics into master
...
Reviewed-on: #876
Reviewed-by: sysadmin <[email protected] >
2026-07-24 08:46:02 -05:00
jcwalker3
572a3cf8b8
Merge branch 'master' into feat/issue-628-autonomous-handoffs-orchestration
2026-07-24 08:43:12 -05:00
jcwalker3
22f9547fd8
Merge branch 'master' into feat/issue-651-usage-cost-analytics
2026-07-24 08:36:55 -05:00
sysadmin
2e4ed38c51
Merge pull request 'feat(lease): make the author task heartbeat load-bearing ( Closes #790 , Slice A)' ( #794 ) from fix/issue-790-slice-a-heartbeat-policy into master
2026-07-24 08:26:09 -05:00
sysadmin and Claude Opus 4.8
a7a283f449
feat(mcp): post-restart reconciliation and completion proof ( Closes #662 )
...
Add pure post_restart_reconcile.reconcile_after_restart classifier with a
machine-readable completion proof covering service health, sessions, leases,
capabilities, worktrees, interrupted mutations (never auto-resumed),
duplicates, and queue state. Soft-depends on #660 checkpoints (skipped with
reason when the schema module is absent).
Wire read-only MCP tool gitea_reconcile_after_restart, boot-once hook via
gitea_assess_master_parity, log_only/enforce modes (mutation_hold), and docs.
Closes #662
Related: #655 #652 #653 #660 #661
Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected] >
2026-07-24 08:42:20 -04:00
jcwalker3
6f74552617
Merge branch 'master' into feat/issue-628-autonomous-handoffs-orchestration
2026-07-24 07:37:06 -05:00
sysadmin
38506a753f
Merge remote-tracking branch 'prgs/master' into feat/issue-651-usage-cost-analytics
...
# Conflicts:
# docs/webui-authz-audit.md
# webui/console_authz.py
2026-07-24 08:33:35 -04:00
sysadmin
0987f93c67
Merge branch 'master' into fix/issue-790-slice-a-heartbeat-policy
...
Keep PR #794 current after master landed #863 (sanctioned restart controls).
Preserves Slice A heartbeat conflict-gate remediation for review #544 .
2026-07-24 08:22:51 -04:00
sysadmin
103d0df289
Merge pull request 'feat(webui): sanctioned restart and graceful reload controls ( Closes #642 )' ( #863 ) from feat/issue-642-sanctioned-restart-controls into master
2026-07-24 07:21:17 -05:00
sysadmin and Claude Opus 4.8
b179610e7f
fix(webui): remediate PR #876 REQUEST_CHANGES for analytics ( #651 )
...
Address review blockers and medium/low findings:
- F1: HTML-escape all dynamic analytics fields (html.escape quote=True)
- F2: Gate POST /api/v1/analytics/usage through console_authz
record_analytics_usage (fail closed for unauthenticated / Phase 1)
- F3: Enforce usage_events retention (max rows + max age)
- F4: Coerce None remote/org/repo to empty strings in load_analytics
Add tests for XSS escaping, unauthorized ingest deny, retention, and
None scope coercion. Document authz + retention in analytics guide.
Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected] >
2026-07-24 08:11:12 -04:00
jcwalker3
4b436ea7d0
Merge branch 'master' into feat/issue-628-autonomous-handoffs-orchestration
2026-07-24 07:08:09 -05:00
jcwalker3
8ad3641fd3
Merge branch 'master' into fix/issue-790-slice-a-heartbeat-policy
2026-07-24 07:07:53 -05:00
jcwalker3
205207abb0
Merge branch 'master' into feat/issue-642-sanctioned-restart-controls
2026-07-24 07:03:50 -05:00
jcwalker3
0041542fe2
Merge branch 'master' into feat/issue-651-usage-cost-analytics
2026-07-24 07:03:24 -05:00
sysadmin
a87a7d1da2
Merge pull request 'Implement native author issue worktree bootstrap ( #850 )' ( #853 ) from fix/issue-850-native-mcp-bootstrap into master
2026-07-24 07:02:48 -05:00
sysadmin
bc54effbd0
Merge branch 'master' into fix/issue-790-slice-a-heartbeat-policy
2026-07-24 08:01:27 -04:00
jcwalker3
9504fa8bbd
Merge branch 'master' into fix/issue-850-native-mcp-bootstrap
2026-07-24 06:55:44 -05:00
jcwalker3
18bca47977
Merge branch 'master' into feat/issue-642-sanctioned-restart-controls
2026-07-24 06:55:15 -05:00
jcwalker3
1f144705e2
Merge branch 'master' into feat/issue-651-usage-cost-analytics
2026-07-24 06:55:03 -05:00
sysadmin
e1d844bfed
fix(bootstrap): path-shaped branches ancestry without isdir ( #850 review #551 )
...
resolve_canonical_repo_root fallback now uses commonpath only — no
string split and no os.path.isdir gate — so MCP project_root =
branches/<wt> still resolves to the repo root when the path is not yet
on disk (#274 / review #551 regression).
2026-07-24 07:54:07 -04:00
sysadmin
06e95254f0
fix(bootstrap): address PR #853 REQUEST_CHANGES findings ( #850 )
...
- Remove /branches/ string-split fallback in resolve_canonical_repo_root;
recover roots via commonpath ancestry only (review #531 F2).
- Refuse existing branches that do not contain live master; no weak
merge-base acceptance (F3).
- Verify caller-supplied assignment_id/lease_id against the control plane
or fail closed (F4).
- Compensating recovery releases bound workflow leases via lease_lifecycle (F5).
- Regression tests for each finding.
2026-07-24 07:46:34 -04:00
sysadmin and Claude Opus 4.8
b6a8989c77
fix(lease): honor heartbeat-lifecycle non-live reclaim bands in same-issue conflict gate ( #790 review #502/#516)
...
assess_same_issue_lease_conflict entered the reclaim branch only under is_lease_expired, so a heartbeat-lifecycle lease that is non-live but whose expires_at is still in the future (stale_absolute_cap under default policy; stale_missed_heartbeat under TTL>grace) fell through to the foreign active-lease block and never reached assess_expired_lock_reclaim, which already permits those bands. The gate now also enters reclaim/renewal when a heartbeat-lifecycle lease is not is_lease_live even with a future expires_at; legacy locks are excluded and keep their absolute expires_at clock (AC-N8). Adds tests/test_issue_794_conflict_gate_reclaim.py.
Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected] >
2026-07-24 07:38:57 -04:00
sysadmin
3acfb039a9
fix(pr-795): honest scope for #628 building-block regression tests
...
Address REQUEST_CHANGES on PR #795 : stop claiming all 21 umbrella ACs
from a single unit-test module. Scope docs and cases to child issue #878
(CTH/format, ownership classify_skip, dependency edges). Does not close
umbrella #628 .
2026-07-24 07:35:26 -04:00
sysadmin
a58b5d6e69
Merge remote-tracking branch 'prgs/master' into feat/issue-628-autonomous-handoffs-orchestration
2026-07-24 07:32:47 -04:00
sysadmin
5e935dffb4
Merge pull request 'feat(webui): system-health dashboard ( Closes #639 )' ( #862 ) from feat/issue-639-webui-system-health-dashboard into master
2026-07-24 06:28:46 -05:00
sysadmin
5c5c1fdf77
feat(webui): model usage, token cost, latency, and performance analytics ( Closes #651 )
2026-07-24 07:16:44 -04:00
jcwalker3
0ae05cb9bc
Merge branch 'master' into fix/issue-850-native-mcp-bootstrap
2026-07-24 06:16:32 -05:00
jcwalker3
82464f4054
Merge branch 'master' into feat/issue-639-webui-system-health-dashboard
2026-07-24 06:16:12 -05:00
jcwalker3
2a5d6571ec
Merge branch 'master' into feat/issue-642-sanctioned-restart-controls
2026-07-24 06:16:03 -05:00
sysadmin
c33c69b3f3
Merge pull request 'fix: conflict-fix lease lifecycle chain termination and TTL handling ( #842 )' ( #846 ) from fix/issue-842-conflict-fix-lease-lifecycle into master
2026-07-24 06:11:09 -05:00
jcwalker3
37c3e5dc39
Merge branch 'master' into feat/issue-642-sanctioned-restart-controls
2026-07-24 06:11:00 -05:00
sysadmin and Claude Opus 4.8
2baf726ee6
merge(master): sync PR #853 with master; keep bootstrap and #860 transitions
...
Resolve task_capability_map.py by unioning #850 bootstrap_author_issue_worktree
preflight transitions with master's #860 dirty-orphan recovery and work_issue
commit transitions. No feature logic discarded.
Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected] >
2026-07-24 07:04:20 -04:00
sysadmin
67b4889984
Merge pull request 'feat(mcp-health): MCP restart coordinator and impact analysis ( Closes #658 )' ( #875 ) from feat/issue-658-mcp-restart-coordinator into master
2026-07-24 06:04:14 -05:00
jcwalker3
d2eaca4949
Merge branch 'master' into feat/issue-642-sanctioned-restart-controls
2026-07-24 05:54:59 -05:00
jcwalker3
fd558ce5d8
Merge branch 'master' into feat/issue-658-mcp-restart-coordinator
2026-07-24 05:54:50 -05:00
sysadmin
ae1161524d
Merge pull request 'fix(author): bootstrap recovery for dirty orphaned issue worktrees ( #860 )' ( #861 ) from fix/issue-860-dirty-orphan-worktree-recovery into master
2026-07-24 05:52:24 -05:00
jcwalker3
d456a763fa
Merge branch 'master' into feat/issue-658-mcp-restart-coordinator
2026-07-24 05:48:25 -05:00
jcwalker3
cc56aeeacd
Merge branch 'master' into fix/issue-860-dirty-orphan-worktree-recovery
2026-07-24 05:22:20 -05:00
sysadmin
44fe8d2eed
Merge pull request 'feat(mcp-health): inventory and guard MCP restart/reload/kill paths ( Closes #657 )' ( #870 ) from feat/issue-657-mcp-restart-path-inventory-guard into master
2026-07-24 04:28:10 -05:00
jcwalker3
d03d982e3b
Merge branch 'master' into fix/issue-860-dirty-orphan-worktree-recovery
2026-07-24 04:11:02 -05:00
jcwalker3
657b5bc1b3
Merge branch 'master' into feat/issue-657-mcp-restart-path-inventory-guard
2026-07-24 04:10:08 -05:00
sysadmin
b6ca778cef
Merge pull request 'fix(reconciler): PR-scoped post-merge cleanup executor + expired reviewer-lease reclaim ( Closes #855 )' ( #866 ) from fix/issue-855-pr-scoped-merged-cleanup into master
2026-07-24 03:24:53 -05:00
jcwalker3
73f82a2305
Merge branch 'master' into fix/issue-855-pr-scoped-merged-cleanup
2026-07-24 03:15:43 -05:00
sysadmin
cc7dc8ac14
Merge pull request 'fix(author): refresh durable issue-lock head after branch sync; recover merge-sync-drifted dead-session locks ( Closes #871 )' ( #874 ) from fix/issue-871-durable-lock-head-refresh into master
2026-07-24 03:04:24 -05:00
jcwalker3
e151759212
Merge branch 'master' into fix/issue-871-durable-lock-head-refresh
2026-07-24 02:42:52 -05:00
sysadmin
60df5087e9
Merge pull request 'docs(governance): MCP restart governance and authorization policy ( Closes #656 )' ( #857 ) from docs/issue-656-mcp-restart-governance into master
2026-07-24 02:26:02 -05:00