- Fix invariant glossary entry: reconciliation now documented as occurring
at each phase boundary (before Strategize, Execute, Apply, and after Apply)
rather than only at start of Strategize (closes#9899)
- Add Multi-Phase Invariant Enforcement note to Plan Lifecycle section
- Add ACMS Thread Safety subsection documenting threading.RLock concurrency
contract for ContextAssemblyPipeline and all context stores (closes#9859)
- Append M7: Advanced Concepts and Deferred Features (v3.6.0) milestone spec
section covering advanced invariant lifecycle, ACMS observability, plan
hierarchy enhancements, and CLI communication pattern migration
- Add ADR-049: CLI Communication Pattern documenting local CLI exemption
from A2A boundary requirement and M9 migration path
- Add docs/api/action.md: full API reference for ActionConfigSchema and ActionArgumentSchema — field tables, factory methods, camelCase compat mapping, env-var interpolation, database integrity note, and complete YAML example
- Update docs/api/index.md: add cleveragents.action entry to module index
- Update mkdocs.yml: add 'Action Schema: api/action.md' to the API Reference nav
- Update CHANGELOG.md [Unreleased] Fixed: document plan use UNIQUE constraint violation fix (#4174, #4197)
- Clarify from_yaml_file ValueError semantics, document inputs_schema type as dict[str, Any] | None, and update A2A ASV benchmarks to pass method= requests after JSON-RPC migration
ISSUES CLOSED: #7472
- update agents diagnostics examples to show all provider checks across rich, plain, JSON, and YAML formats
- refresh error scenario samples to reflect the expanded provider coverage and recommendation counts
- align CLI diagnostics output with the spec by adding explicit provider display names and consistent ordering
Closes#5320
Restore original permission structure and model configuration while adding
only the changes needed for issue #7521: forgejo_update_pull_request
permission and PR Workflow for Major Changes documentation section.
Fixes addressed:
- Restore flat permission format (was incorrectly restructured to nested)
- Restore model to claude-haiku-4-5 with reasoningEffort max
- Restore removed critical rules (6: label delegation, 7: pagination)
- Restore removed permission denials (*, doom_loop, question, etc.)
- Add CHANGELOG.md entry for this feature
- Restore CONTRIBUTORS.md to master (remove unrelated changes)
ISSUES CLOSED: #7521
# Conflicts:
# CONTRIBUTORS.md
Extract the benchmark-regression job from the default PR CI workflow
into a dedicated scheduled workflow (.forgejo/workflows/benchmark-scheduled.yml).
The benchmark job was blocking PR feedback for 99-132 minutes even when
lint/typecheck/tests passed in under 20 minutes. The new workflow runs:
- Nightly regression tests (2 AM UTC) comparing HEAD against master
- Weekly full benchmark suite (3 AM UTC Sundays) for trend analysis
- Manual dispatch trigger for ad-hoc benchmark validation
AWS S3 integration stores benchmark results for historical trend analysis.
Documentation updated in docs/development/ci-cd.md.
CONTRIBUTORS.md updated with benchmark workflow separation contribution.
ISSUES CLOSED: #9040
# Conflicts:
# CONTRIBUTORS.md
# Conflicts:
# CONTRIBUTORS.md
Move alembic configuration and migration files from repository root into the
Python package structure to ensure they are included in the wheel distribution.
This fix resolves the FileNotFoundError when running `agents init` in Docker
containers or any environment using the built wheel distribution.
Changes:
- Move alembic/ directory from repo root to
src/cleveragents/infrastructure/database/migrations/
- Move alembic.ini to the same new location and update script_location setting
- Update MigrationRunner._find_alembic_ini() to search from the new canonical
location within the package
- Update create_template_db.py to point to the new alembic.ini location
- Update documentation references to reflect new migration file locations
- Create __init__.py for migrations package
- The env.py file is imported when running tests that verify all modules can be
imported without errors. However, context.config is only available when alembic
is actually running migrations, not during normal module imports. This caused
an AttributeError when the test tried to import the migrations.env module.
- Fix by using getattr() with a default value to safely access context.config,
and guard all code that uses config with None checks. This allows the module
to be safely imported while still functioning correctly during migrations.
Testing:
- Verified MigrationRunner can locate alembic.ini in new location
- Tested agents init succeeds in creating project with database
- Template database creation works correctly
- All migration tests should pass without changes
Alembic files now follow standard Python packaging conventions, making them
automatically included in wheel distributions without special configuration.
ISSUES CLOSED: #4180
Updates the A2A Protocol section to reflect the rename of A2aRequest/
A2aResponse fields to standard JSON-RPC 2.0 names (method, id, result,
error). Documents A2aVersionNegotiator for backward compatibility.
Closes#8787
Add comprehensive API documentation for the cleveragents.acms package,
covering the four-layer UKO ontology hierarchy (Layer 0-3), all public
types (VocabularyRegistry, ProvenanceInfo, UKOClass, UKOProperty,
UKOVocabulary, Layer2Dependency, ParadigmVocabulary), detail level maps
(DetailLevelMapBuilder, build_detail_level_map, build_effective_map,
resolve_detail_level), and all Layer 3 language vocabulary types for
Python, TypeScript, Rust, and Java.
- Add docs/api/acms.md with full API reference and usage example
- Update docs/api/index.md to include ACMS/UKO in the module index
- Update mkdocs.yml nav to include the new ACMS/UKO page
- Update CHANGELOG.md [Unreleased] with the documentation addition
Renamed backlog-grooming-pool-supervisor to grooming-pool-supervisor and
backlog-grooming-worker to grooming-worker. The grooming agents now analyze
all open issues AND pull requests (not just the backlog). Workers perform a
full 10-point quality analysis on a single item instead of processing
batches. PRs with unaddressed reviews are prioritized. PR labels are synced
from linked issues. Workers post [GROOMED] markers for tracking.
Fixed critical issue: implementation-pool-supervisor now correctly dispatches
workers through tier selectors (tier-haiku/codex/sonnet/opus) instead of
launching implementation-worker directly, ensuring the escalation model
actually sets the correct model tier. Added implementation-worker to all
four tier selector task permissions.
Updated session tags from AUTO-BLOG to AUTO-GROOM. Updated specification
sections 4.2.1, 5.5, 5.5.1, 9.7, and architecture diagram.
ISSUES CLOSED: n/a
Three implementation contracts clarified in response to security/correctness
bugs surfaced by the bug hunt pool:
1. Path containment: Sandbox path validation MUST use Path.is_relative_to()
not string prefix comparison. String prefix allows /tmp/sandboxmalicious
to pass a /tmp/sandbox root check. Canonical implementation provided.
2. Datetime handling: All stored ISO timestamp comparisons MUST parse back
to timezone-aware datetime objects before comparing. String comparison
of ISO timestamps is incorrect when timezone offsets differ in format.
Canonical parse_utc_ts() pattern provided.
3. Plugin protocol validation: Protocol compliance MUST be checked
structurally via issubclass() — never by instantiating the plugin class.
Instantiation runs __init__ side effects before the plugin is approved.
These are minor clarifications (implementation contracts, not architectural
changes) added to the existing Security and Extensibility sections.
Refs: BUG-HUNT issues #7336 (path traversal), #7341 (datetime comparison),
#7331 (plugin instantiation)
- Add docs/modules/context-hydration.md: documents the ACMS context
hydration pipeline (context_tier_hydrator) that fixes the empty
ContextTierService bug (#1028). Covers hydrate_tiers_from_project,
hydrate_tiers_for_plan, file listing strategies, limits, and
fragment metadata.
- Add docs/modules/git-worktree-sandbox.md: documents the
GitWorktreeSandbox class that isolates plan apply changes in a
dedicated git branch/worktree and merges back on commit (#4454).
Covers full lifecycle, error types, branch naming, and fallback
for non-git projects.
- Update docs/architecture.md: add Git Worktree Sandbox Apply section
and extend ACMS section with context hydration note.
- Update mkdocs.yml: add both new module pages to the Modules nav.
ISSUES CLOSED: #6841
Add comprehensive responsibility-first analysis of the entire agent system
covering 144 named responsibilities (R-01 through R-144) organized into 8
categories with 29 sub-categories and complete bidirectional cross-references.
Key additions:
- Section 22.0: Categorized Responsibility Index with navigation guide
- Section 7.9: Universal Supervisor Responsibilities (13 shared baseline)
- Section 22.145: Redundancy Analysis Summary with depth distribution,
highest-redundancy items, most cross-referenced agents, and 5 named
redundancy patterns
- 30 agent back-reference tables covering ~50 individual agents
- Category introductions explaining scope and significance
- 6th foundational principle (Defense-in-Depth) added to Section 1.1
Categories: A (Development Lifecycle, 50 items), B (Quality Assurance),
C (Ticket Hygiene), D (Architecture), E (Operational Health),
F (Human Interaction), G (Strategic Governance), H (Project Standards).
ISSUES CLOSED: N/A
Refresh Day 100 entries using Forgejo telemetry across both cycle snapshots to capture scope expansion, milestone progress, and active session data.\n\n- Update today marker and Gantt update log for Day 100\n- Capture scope expansion metrics and milestone completion percentages\n- Refresh risk register, status summary, and track/milestone forecasts\n- Append Day 100 cycle-2 schedule adherence tables for teams and milestones\n- Note infrastructure changes (review requirement, supervisor additions)\n\nISSUES CLOSED: #6975
Document the CLI-based lifecycle for removing, exporting, and importing named contexts, including JSON import limitations and scripting examples.
ISSUES CLOSED: #4409
Refresh timeline for Day 99 with updated gantt charts, status summary, and schedule adherence tables covering bug surge and milestone scope changes.
ISSUES CLOSED: #5780
- Fixed duplicate section number: two §2.4 -> renamed first to §2.3.1
- Verified all section cross-references valid
- Verified Appendix A model/mode data matches frontmatter (10 samples)
- Verified mkdocs.yml navigation entry
- Comprehensive stale-name sweep: zero hits across all files
- Added v1.36.0 revision entry with final statistics
- Added FORGEJO_REVIEWER_PASSWORD to Section 6.17 env table and Appendix C
- Purged all remaining "self-approval"/"shared bot account" language from spec
- Updated Sections 8.3.2 and 8.3.3 for dual-account architecture
- Added v1.31.0 revision entry
- Added v1.27.0 entry: all 17 agents fixed with correct READ-before-CREATE order
- All agents now include rolling average interval defaults and Estimated Cycle Interval requirement
- Fixed broken Section 20.4 reference (section was removed in v1.16.0)
- Fixed wrong Section 13.2 reference (should be Section 11.2 for escalation)
- Replaced stale stale-check work type with awaiting-review in Section 10.1
- Added v1.19.0 revision entry