Migrate kaizen distribution to Forgejo
This commit is contained in:
parent
f027ee5492
commit
d4a4560a8d
34 changed files with 324 additions and 195 deletions
|
|
@ -1,8 +1,8 @@
|
|||
<!-- custodian-brief: generated by fix-consistency — do not edit manually -->
|
||||
# Custodian Brief — kaizen-agentic
|
||||
|
||||
**Domain:** infotech
|
||||
**Last synced:** 2026-07-16 10:48 UTC
|
||||
**Domain:** agents
|
||||
**Last synced:** 2026-08-20 07:20 UTC
|
||||
**State Hub:** http://127.0.0.1:8000 *(adjust if running on a remote machine)*
|
||||
|
||||
## Active Workstreams
|
||||
|
|
@ -13,6 +13,6 @@
|
|||
## MCP Orientation (when available)
|
||||
|
||||
If the state-hub MCP server is reachable, call:
|
||||
`get_domain_summary("infotech")`
|
||||
`get_domain_summary("agents")`
|
||||
This provides richer cross-domain context.
|
||||
If the MCP call fails, use this file as your orientation source.
|
||||
|
|
|
|||
|
|
@ -32,4 +32,4 @@ labels: bug
|
|||
(paste relevant output)
|
||||
```
|
||||
|
||||
## Additional context
|
||||
## Additional context
|
||||
8
.forgejo/ISSUE_TEMPLATE/config.yaml
Normal file
8
.forgejo/ISSUE_TEMPLATE/config.yaml
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
blank_issues_enabled: false
|
||||
contact_links:
|
||||
- name: Feedback guide
|
||||
url: https://forgejo.coulomb.social/coulomb/kaizen-agentic/src/branch/main/docs/FEEDBACK.md
|
||||
about: How to submit feedback, bugs, and feature ideas
|
||||
- name: Contributing guide
|
||||
url: https://forgejo.coulomb.social/coulomb/kaizen-agentic/src/branch/main/CONTRIBUTING.md
|
||||
about: Development workflow and code standards
|
||||
|
|
@ -20,4 +20,4 @@ labels: enhancement
|
|||
- [ ] Documentation / wiki
|
||||
- [ ] Ecosystem integration (activity-core, artifact-store, agentic-resources)
|
||||
|
||||
## Additional context
|
||||
## Additional context
|
||||
|
|
@ -18,4 +18,4 @@ labels: feedback
|
|||
## Optional: metrics / telemetry context
|
||||
|
||||
If relevant, note whether you use project metrics (`.kaizen/metrics/`) or Helix Forge
|
||||
fleet capture — helps us prioritize integration improvements.
|
||||
fleet capture — helps us prioritize integration improvements.
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
blank_issues_enabled: false
|
||||
contact_links:
|
||||
- name: Feedback guide
|
||||
url: https://gitea.coulomb.social/coulomb/kaizen-agentic/src/branch/main/docs/FEEDBACK.md
|
||||
about: How to submit feedback, bugs, and feature ideas
|
||||
- name: Contributing guide
|
||||
url: https://gitea.coulomb.social/coulomb/kaizen-agentic/src/branch/main/CONTRIBUTING.md
|
||||
about: Development workflow and code standards
|
||||
|
|
@ -33,7 +33,7 @@ pipx install -e . --force # global pipx install
|
|||
```
|
||||
|
||||
**Consumers (pip install from registry):** see [docs/PACKAGE_RELEASE.md](docs/PACKAGE_RELEASE.md)
|
||||
for Gitea PyPI credentials and `--extra-index-url` install paths.
|
||||
for the Forgejo PyPI `--extra-index-url` install path.
|
||||
|
||||
**Maintainers (release):** `make agents-sync-package` before tagging when `agents/` changes;
|
||||
`make package-check` and the pre-tag checklist in `docs/PACKAGE_RELEASE.md`.
|
||||
|
|
@ -78,7 +78,7 @@ This repository follows PythonVibes best practices:
|
|||
- **Type Checking**: MyPy (`mypy src/`)
|
||||
- **Testing**: Pytest (`pytest`)
|
||||
- **Pre-commit**: `pip install pre-commit && pre-commit install` (see `.pre-commit-config.yaml`)
|
||||
- **CI**: Gitea Actions workflow `.gitea/workflows/ci.yml` runs on push/PR to `main`
|
||||
- **CI**: Forgejo Actions workflow `.forgejo/workflows/ci.yml` runs on push/PR to `main`
|
||||
|
||||
### Agent Development Standards
|
||||
For contributing new agents or improving existing ones:
|
||||
|
|
@ -136,7 +136,7 @@ We welcome bugs, feature ideas, and adoption experience reports.
|
|||
|
||||
- **CLI:** `kaizen-agentic feedback` — lists channels and issue templates
|
||||
- **Guide:** [docs/FEEDBACK.md](docs/FEEDBACK.md)
|
||||
- **Templates:** `.gitea/ISSUE_TEMPLATE/` (bug, feature, general feedback)
|
||||
- **Templates:** `.forgejo/ISSUE_TEMPLATE/` (bug, feature, general feedback)
|
||||
|
||||
For cross-repo coordination between custodian agents, use State Hub messages
|
||||
(`POST /messages/`) — see session protocol in `.claude/rules/session-protocol.md`.
|
||||
|
|
@ -178,7 +178,7 @@ We follow continuous improvement principles:
|
|||
|
||||
### Communication
|
||||
- Be respectful and constructive in all interactions
|
||||
- Use GitHub issues and discussions for project-related communication
|
||||
- Use Forgejo issues for project-related communication
|
||||
- Share knowledge and help other contributors
|
||||
- Follow the project's code of conduct
|
||||
|
||||
|
|
|
|||
34
Makefile
34
Makefile
|
|
@ -1,14 +1,14 @@
|
|||
# Makefile for Kaizen Agentic development tasks
|
||||
|
||||
.PHONY: help setup-complete setup-structure setup-python setup-tools setup-docs setup-tests setup-verify ensure-project-structure install-dev install-local install-global standards-check standards-fix standards-test test test-all build clean lint format venv-status agents-list agents-update agents-validate agents-status agents-sync-package agents-install-cli release-check release-prepare release-test release-publish publish-gitea package-check release-finalize release-rollback
|
||||
.PHONY: help setup-complete setup-structure setup-python setup-tools setup-docs setup-tests setup-verify ensure-project-structure install-dev install-local install-global standards-check standards-fix standards-test test test-all build clean lint format venv-status agents-list agents-update agents-validate agents-status agents-sync-package agents-install-cli release-check release-prepare release-test release-publish publish-forgejo package-check release-finalize release-rollback
|
||||
|
||||
# Variables
|
||||
VENV = .venv
|
||||
VENV_PYTHON = $(VENV)/bin/python
|
||||
VENV_PIP = $(VENV)/bin/pip
|
||||
GITEA_PACKAGE_OWNER ?= coulomb
|
||||
GITEA_PYPI_REPOSITORY_URL ?= https://gitea.coulomb.social/api/packages/$(GITEA_PACKAGE_OWNER)/pypi
|
||||
GITEA_PYPI_SIMPLE_URL ?= https://gitea.coulomb.social/api/packages/$(GITEA_PACKAGE_OWNER)/pypi/simple/
|
||||
FORGEJO_PACKAGE_OWNER ?= coulomb
|
||||
FORGEJO_PYPI_REPOSITORY_URL ?= https://forgejo.coulomb.social/api/packages/$(FORGEJO_PACKAGE_OWNER)/pypi
|
||||
FORGEJO_PYPI_SIMPLE_URL ?= https://forgejo.coulomb.social/api/packages/$(FORGEJO_PACKAGE_OWNER)/pypi/simple/
|
||||
|
||||
# Default target
|
||||
help:
|
||||
|
|
@ -48,10 +48,10 @@ help:
|
|||
@echo " release-check - Validate release readiness (tests, linting, version consistency)"
|
||||
@echo " release-prepare - Prepare release (update versions, build packages)"
|
||||
@echo " package-check - Build and validate wheel/sdist with twine"
|
||||
@echo " publish-gitea - Publish dist/* to Coulomb Gitea PyPI registry"
|
||||
@echo " publish-forgejo - Publish dist/* to the Forgejo PyPI registry"
|
||||
@echo " release-test - Test publication workflow using TestPyPI"
|
||||
@echo " release-publish - Publish to production PyPI (pypi.org)"
|
||||
@echo " release-finalize - Post-release tasks (tags, GitHub release, documentation)"
|
||||
@echo " release-finalize - Post-release tasks (tags, Forgejo release, documentation)"
|
||||
@echo " release-rollback - Emergency rollback procedures"
|
||||
@echo ""
|
||||
@echo "Development:"
|
||||
|
|
@ -970,7 +970,7 @@ release-prepare: release-check clean
|
|||
ls -la dist/ | grep "$$VERSION" || echo " • Package files:"; ls -la dist/; \
|
||||
echo ""; \
|
||||
echo "💡 Next steps:"; \
|
||||
echo " • Run 'make publish-gitea' for Coulomb Gitea PyPI"; \
|
||||
echo " • Run 'make publish-forgejo' for Forgejo PyPI"; \
|
||||
echo " • Run 'make release-test' to test publication on TestPyPI"; \
|
||||
echo " • Run 'make release-publish' for pypi.org (when configured)"
|
||||
|
||||
|
|
@ -979,15 +979,15 @@ package-check: release-prepare
|
|||
$(VENV_PYTHON) -c "import twine" 2>/dev/null || $(VENV_PIP) install twine
|
||||
$(VENV_PYTHON) -m twine check dist/*
|
||||
|
||||
# Publish to Coulomb Gitea PyPI registry
|
||||
publish-gitea: package-check
|
||||
# Publish to the Forgejo PyPI registry
|
||||
publish-forgejo: package-check
|
||||
ifndef TWINE_USERNAME
|
||||
$(error TWINE_USERNAME is required (e.g. export TWINE_USERNAME=<gitea-user>))
|
||||
$(error TWINE_USERNAME is required (e.g. export TWINE_USERNAME=<forgejo-user>))
|
||||
endif
|
||||
ifndef TWINE_PASSWORD
|
||||
$(error TWINE_PASSWORD is required (e.g. export TWINE_PASSWORD=$$GITEA_API_TOKEN))
|
||||
$(error TWINE_PASSWORD is required (e.g. export TWINE_PASSWORD=$$FORGEJO_PYPI_TOKEN))
|
||||
endif
|
||||
$(VENV_PYTHON) -m twine upload --repository-url "$(GITEA_PYPI_REPOSITORY_URL)" dist/*
|
||||
$(VENV_PYTHON) -m twine upload --repository-url "$(FORGEJO_PYPI_REPOSITORY_URL)" dist/*
|
||||
|
||||
# Test publication workflow using TestPyPI
|
||||
release-test: release-prepare
|
||||
|
|
@ -1034,7 +1034,7 @@ release-publish: release-check
|
|||
echo " • Generate API token"; \
|
||||
echo " • Store in ~/.pypirc or use keyring"
|
||||
|
||||
# Post-release tasks (tags, GitHub release, documentation)
|
||||
# Post-release tasks (tags, Forgejo release, documentation)
|
||||
release-finalize: $(VENV)/bin/activate
|
||||
@echo "🏁 Finalizing release..."
|
||||
@echo ""
|
||||
|
|
@ -1050,16 +1050,16 @@ release-finalize: $(VENV)/bin/activate
|
|||
echo " ✅ Tag created"; \
|
||||
fi; \
|
||||
echo ""; \
|
||||
echo " • GitHub Release:"; \
|
||||
echo " • Forgejo Release:"; \
|
||||
echo " 💡 Manual steps required:"; \
|
||||
echo " 1. Push tags: git push origin v$$VERSION"; \
|
||||
echo " 2. Create GitHub release at:"; \
|
||||
echo " https://github.com/kaizen-agentic/kaizen-agentic/releases/new"; \
|
||||
echo " 2. Create Forgejo release at:"; \
|
||||
echo " https://forgejo.coulomb.social/coulomb/kaizen-agentic/releases/new"; \
|
||||
echo " 3. Upload dist/ files as release assets"; \
|
||||
echo ""; \
|
||||
echo " • Documentation:"; \
|
||||
echo " 💡 Verify installation instructions work:"; \
|
||||
echo " pip install kaizen-agentic==$$VERSION --extra-index-url <gitea-pypi-simple>"; \
|
||||
echo " pip install kaizen-agentic==$$VERSION --extra-index-url $(FORGEJO_PYPI_SIMPLE_URL)"; \
|
||||
echo " See docs/PACKAGE_RELEASE.md"; \
|
||||
echo ""; \
|
||||
echo "✅ Release finalization checklist provided"; \
|
||||
|
|
|
|||
15
README.md
15
README.md
|
|
@ -12,7 +12,7 @@ This project embraces the Japanese concept of "kaizen" (continuous improvement)
|
|||
|
||||
**From Source (Development):**
|
||||
```bash
|
||||
git clone https://github.com/kaizen-agentic/kaizen-agentic.git
|
||||
git clone https://forgejo.coulomb.social/coulomb/kaizen-agentic.git
|
||||
cd kaizen-agentic
|
||||
make setup-complete
|
||||
make agents-install-cli
|
||||
|
|
@ -21,7 +21,7 @@ source .venv/bin/activate # Required for each session
|
|||
|
||||
**Global Installation (Available from any directory):**
|
||||
```bash
|
||||
git clone https://github.com/kaizen-agentic/kaizen-agentic.git
|
||||
git clone https://forgejo.coulomb.social/coulomb/kaizen-agentic.git
|
||||
cd kaizen-agentic
|
||||
make setup-complete
|
||||
python3 -m build && make install-global
|
||||
|
|
@ -30,24 +30,21 @@ python3 -m build && make install-global
|
|||
|
||||
**Local Package Testing:**
|
||||
```bash
|
||||
git clone https://github.com/kaizen-agentic/kaizen-agentic.git
|
||||
git clone https://forgejo.coulomb.social/coulomb/kaizen-agentic.git
|
||||
cd kaizen-agentic
|
||||
make setup-complete
|
||||
python3 -m build && make install-local
|
||||
source .venv/bin/activate # Required for each session
|
||||
```
|
||||
|
||||
**From Gitea PyPI (v1.1.0+):**
|
||||
**From Forgejo PyPI (v1.1.0+):**
|
||||
```bash
|
||||
export GITEA_PACKAGE_USER=<gitea-user>
|
||||
export GITEA_PACKAGE_TOKEN=<package-token>
|
||||
|
||||
pip install kaizen-agentic \
|
||||
--extra-index-url "https://${GITEA_PACKAGE_USER}:${GITEA_PACKAGE_TOKEN}@gitea.coulomb.social/api/packages/coulomb/pypi/simple/"
|
||||
--extra-index-url https://forgejo.coulomb.social/api/packages/coulomb/pypi/simple/
|
||||
|
||||
# or global CLI via pipx
|
||||
pipx install kaizen-agentic \
|
||||
--pip-args="--extra-index-url https://${GITEA_PACKAGE_USER}:${GITEA_PACKAGE_TOKEN}@gitea.coulomb.social/api/packages/coulomb/pypi/simple/"
|
||||
--pip-args="--extra-index-url https://forgejo.coulomb.social/api/packages/coulomb/pypi/simple/"
|
||||
```
|
||||
|
||||
See [docs/PACKAGE_RELEASE.md](docs/PACKAGE_RELEASE.md) for release and CI details.
|
||||
|
|
|
|||
12
SCOPE.md
12
SCOPE.md
|
|
@ -30,7 +30,7 @@ This repo is the canonical home for the **KaizenAgentic** operating model (`INTE
|
|||
- **Project templates** (python-basic, python-web, python-cli, python-data, comprehensive) — agent bundles in registry code
|
||||
- **Python framework** (`src/kaizen_agentic/`): `Agent`/`AgentConfig`, `AgentRegistry`, `AgentInstaller`, `OptimizationLoop`/`PerformanceMetrics`, detection/migration/extensions
|
||||
- **Packaged agent data** (`src/kaizen_agentic/data/agents/`) — agents bundled for pip installs (sync with `agents/` via `make agents-update`)
|
||||
- **Gitea PyPI publication** — `make publish-gitea`, tag-triggered `.gitea/workflows/publish-python-package.yml` (v1.1.0+)
|
||||
- **Forgejo PyPI publication** — `make publish-forgejo`, tag-triggered `.forgejo/workflows/publish-python-package.yml` (v1.1.0+)
|
||||
- **Custodian MCP integration** (owned by `the-custodian`): `list_kaizen_agents()` and `get_kaizen_agent()`
|
||||
- **ADRs and workplans** for memory, protocols, workplan, and metrics conventions
|
||||
|
||||
|
|
@ -43,7 +43,7 @@ This repo is the canonical home for the **KaizenAgentic** operating model (`INTE
|
|||
- Project-specific implementation (agents guide work; they do not build the target software)
|
||||
- Custodian State Hub, MCP server code, or cross-domain governance (consumed, not owned)
|
||||
- Full KaizenGuidance codemod pipeline (vision in `wiki/KaizenGuidance.md`; not yet implemented)
|
||||
- Public pypi.org distribution (optional; Coulomb Gitea registry is primary)
|
||||
- Public pypi.org distribution (optional; the Forgejo registry is primary)
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -69,12 +69,12 @@ This repo is the canonical home for the **KaizenAgentic** operating model (`INTE
|
|||
|
||||
## Current State
|
||||
|
||||
- Status: stabilizing (v1.1.0 published on Gitea PyPI; WP-0001–0004 completed)
|
||||
- Status: stabilizing (v1.4.0 published on Forgejo PyPI; WP-0001–0009 completed)
|
||||
- Strategic layer: `INTENT.md` and `wiki/` established; ecosystem integration docs in `wiki/EcosystemIntegration.md`
|
||||
- Implementation: 20 agents, full CLI (`metrics`, `memory`, `feedback`), agency memory + ADR-004 metrics + optimizer wiring
|
||||
- Stability: CLI stable (Click workaround in place); Gitea CI on main; publish workflow on `v*` tags
|
||||
- Usage: internal dev projects and Custodian MCP hub-wide; pip install via Gitea extra index
|
||||
- Active work: **WP-0006** (scheduled agent execution via activity-core → v1.3.0)
|
||||
- Stability: CLI stable (Click workaround in place); Forgejo CI on main; publish workflow on `v*` tags
|
||||
- Usage: internal dev projects and Custodian MCP hub-wide; pip install via Forgejo extra index
|
||||
- Active work: none; **KAIZEN-WP-0010** completed the CoulombCore distribution cleanup
|
||||
|
||||
---
|
||||
|
||||
|
|
|
|||
129
WORK-RECORDS.md
Normal file
129
WORK-RECORDS.md
Normal file
|
|
@ -0,0 +1,129 @@
|
|||
# Work Records — kaizen-agentic
|
||||
|
||||
> Generated by `statehub fix-consistency` (CUST-WP-0061-T04, work-record
|
||||
> stage 3). Do not edit by hand — edit the source file/block listed for
|
||||
> each record and re-run fix-consistency to refresh this index. Archived
|
||||
> workplans are omitted; closed decisions/intakes/engagements stay listed
|
||||
> so recently-resolved work is still visible. [auto]
|
||||
|
||||
| Kind | ID | Status | Lane | Source |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| workplan | KAIZEN-WP-0001 | completed | — | workplans/kaizen-agentic-WP-0001-community-engagement.md |
|
||||
| workplan | KAIZEN-WP-0002 | done | — | workplans/kaizen-agentic-WP-0002-agency-framework.md |
|
||||
| workplan | KAIZEN-WP-0003 | completed | — | workplans/kaizen-agentic-WP-0003-measurement-loop.md |
|
||||
| workplan | KAIZEN-WP-0004 | completed | — | workplans/kaizen-agentic-WP-0004-ecosystem-integration.md |
|
||||
| workplan | KAIZEN-WP-0005 | completed | — | workplans/kaizen-agentic-WP-0005-adoption-parity.md |
|
||||
| workplan | KAIZEN-WP-0006 | done | — | workplans/kaizen-agentic-WP-0006-scheduled-agent-execution.md |
|
||||
| workplan | KAIZEN-WP-0007 | done | — | workplans/kaizen-agentic-WP-0007-agent-authoring-doc-generation.md |
|
||||
| workplan | KAIZEN-WP-0008 | done | — | workplans/kaizen-agentic-WP-0008-coulomb-loop-supplier-engagement.md |
|
||||
| workplan | KAIZEN-WP-0009 | finished | — | workplans/kaizen-agentic-WP-0009-forward-deployed-agency.md |
|
||||
| workplan | KAIZEN-WP-0010 | finished | — | workplans/kaizen-agentic-WP-0010-forgejo-pypi-migration.md |
|
||||
| task | T01 | done | — | workplans/kaizen-agentic-WP-0003-measurement-loop.md |
|
||||
| task | T02 | done | — | workplans/kaizen-agentic-WP-0003-measurement-loop.md |
|
||||
| task | T03 | done | — | workplans/kaizen-agentic-WP-0003-measurement-loop.md |
|
||||
| task | T04 | done | — | workplans/kaizen-agentic-WP-0003-measurement-loop.md |
|
||||
| task | T05 | done | — | workplans/kaizen-agentic-WP-0003-measurement-loop.md |
|
||||
| task | T06 | done | — | workplans/kaizen-agentic-WP-0003-measurement-loop.md |
|
||||
| task | T07 | done | — | workplans/kaizen-agentic-WP-0003-measurement-loop.md |
|
||||
| task | T08 | done | — | workplans/kaizen-agentic-WP-0003-measurement-loop.md |
|
||||
| task | T09 | done | — | workplans/kaizen-agentic-WP-0003-measurement-loop.md |
|
||||
| task | T10 | done | — | workplans/kaizen-agentic-WP-0003-measurement-loop.md |
|
||||
| task | T11 | done | — | workplans/kaizen-agentic-WP-0003-measurement-loop.md |
|
||||
| task | T12 | done | — | workplans/kaizen-agentic-WP-0003-measurement-loop.md |
|
||||
| task | T13 | done | — | workplans/kaizen-agentic-WP-0003-measurement-loop.md |
|
||||
| task | T14 | done | — | workplans/kaizen-agentic-WP-0003-measurement-loop.md |
|
||||
| task | T15 | done | — | workplans/kaizen-agentic-WP-0003-measurement-loop.md |
|
||||
| task | T16 | done | — | workplans/kaizen-agentic-WP-0003-measurement-loop.md |
|
||||
| task | T17 | done | — | workplans/kaizen-agentic-WP-0003-measurement-loop.md |
|
||||
| task | T18 | done | — | workplans/kaizen-agentic-WP-0003-measurement-loop.md |
|
||||
| task | T19 | done | — | workplans/kaizen-agentic-WP-0003-measurement-loop.md |
|
||||
| task | T20 | done | — | workplans/kaizen-agentic-WP-0003-measurement-loop.md |
|
||||
| task | T21 | done | — | workplans/kaizen-agentic-WP-0003-measurement-loop.md |
|
||||
| task | T22 | done | — | workplans/kaizen-agentic-WP-0003-measurement-loop.md |
|
||||
| task | T23 | done | — | workplans/kaizen-agentic-WP-0003-measurement-loop.md |
|
||||
| task | T24 | done | — | workplans/kaizen-agentic-WP-0003-measurement-loop.md |
|
||||
| task | T01 | done | — | workplans/kaizen-agentic-WP-0004-ecosystem-integration.md |
|
||||
| task | T02 | done | — | workplans/kaizen-agentic-WP-0004-ecosystem-integration.md |
|
||||
| task | T03 | done | — | workplans/kaizen-agentic-WP-0004-ecosystem-integration.md |
|
||||
| task | T04 | done | — | workplans/kaizen-agentic-WP-0004-ecosystem-integration.md |
|
||||
| task | T05 | done | — | workplans/kaizen-agentic-WP-0004-ecosystem-integration.md |
|
||||
| task | T06 | done | — | workplans/kaizen-agentic-WP-0004-ecosystem-integration.md |
|
||||
| task | T07 | done | — | workplans/kaizen-agentic-WP-0004-ecosystem-integration.md |
|
||||
| task | T08 | done | — | workplans/kaizen-agentic-WP-0004-ecosystem-integration.md |
|
||||
| task | T09 | done | — | workplans/kaizen-agentic-WP-0004-ecosystem-integration.md |
|
||||
| task | T10 | done | — | workplans/kaizen-agentic-WP-0004-ecosystem-integration.md |
|
||||
| task | T11 | done | — | workplans/kaizen-agentic-WP-0004-ecosystem-integration.md |
|
||||
| task | T12 | done | — | workplans/kaizen-agentic-WP-0004-ecosystem-integration.md |
|
||||
| task | T13 | done | — | workplans/kaizen-agentic-WP-0004-ecosystem-integration.md |
|
||||
| task | T14 | done | — | workplans/kaizen-agentic-WP-0004-ecosystem-integration.md |
|
||||
| task | T15 | done | — | workplans/kaizen-agentic-WP-0004-ecosystem-integration.md |
|
||||
| task | T16 | done | — | workplans/kaizen-agentic-WP-0004-ecosystem-integration.md |
|
||||
| task | T17 | done | — | workplans/kaizen-agentic-WP-0004-ecosystem-integration.md |
|
||||
| task | T18 | done | — | workplans/kaizen-agentic-WP-0004-ecosystem-integration.md |
|
||||
| task | T19 | done | — | workplans/kaizen-agentic-WP-0004-ecosystem-integration.md |
|
||||
| task | T01 | done | — | workplans/kaizen-agentic-WP-0005-adoption-parity.md |
|
||||
| task | T02 | done | — | workplans/kaizen-agentic-WP-0005-adoption-parity.md |
|
||||
| task | T03 | done | — | workplans/kaizen-agentic-WP-0005-adoption-parity.md |
|
||||
| task | T04 | done | — | workplans/kaizen-agentic-WP-0005-adoption-parity.md |
|
||||
| task | T05 | done | — | workplans/kaizen-agentic-WP-0005-adoption-parity.md |
|
||||
| task | T06 | done | — | workplans/kaizen-agentic-WP-0005-adoption-parity.md |
|
||||
| task | T07 | done | — | workplans/kaizen-agentic-WP-0005-adoption-parity.md |
|
||||
| task | T08 | done | — | workplans/kaizen-agentic-WP-0005-adoption-parity.md |
|
||||
| task | T09 | done | — | workplans/kaizen-agentic-WP-0005-adoption-parity.md |
|
||||
| task | T10 | done | — | workplans/kaizen-agentic-WP-0005-adoption-parity.md |
|
||||
| task | T11 | done | — | workplans/kaizen-agentic-WP-0005-adoption-parity.md |
|
||||
| task | T12 | done | — | workplans/kaizen-agentic-WP-0005-adoption-parity.md |
|
||||
| task | T13 | done | — | workplans/kaizen-agentic-WP-0005-adoption-parity.md |
|
||||
| task | T14 | done | — | workplans/kaizen-agentic-WP-0005-adoption-parity.md |
|
||||
| task | T15 | done | — | workplans/kaizen-agentic-WP-0005-adoption-parity.md |
|
||||
| task | T16 | done | — | workplans/kaizen-agentic-WP-0005-adoption-parity.md |
|
||||
| task | T01 | done | — | workplans/kaizen-agentic-WP-0006-scheduled-agent-execution.md |
|
||||
| task | T02 | done | — | workplans/kaizen-agentic-WP-0006-scheduled-agent-execution.md |
|
||||
| task | T03 | done | — | workplans/kaizen-agentic-WP-0006-scheduled-agent-execution.md |
|
||||
| task | T04 | done | — | workplans/kaizen-agentic-WP-0006-scheduled-agent-execution.md |
|
||||
| task | T05 | done | — | workplans/kaizen-agentic-WP-0006-scheduled-agent-execution.md |
|
||||
| task | T06 | done | — | workplans/kaizen-agentic-WP-0006-scheduled-agent-execution.md |
|
||||
| task | T07 | done | — | workplans/kaizen-agentic-WP-0006-scheduled-agent-execution.md |
|
||||
| task | T08 | done | — | workplans/kaizen-agentic-WP-0006-scheduled-agent-execution.md |
|
||||
| task | T09 | done | — | workplans/kaizen-agentic-WP-0006-scheduled-agent-execution.md |
|
||||
| task | T10 | done | — | workplans/kaizen-agentic-WP-0006-scheduled-agent-execution.md |
|
||||
| task | T11 | done | — | workplans/kaizen-agentic-WP-0006-scheduled-agent-execution.md |
|
||||
| task | T12 | done | — | workplans/kaizen-agentic-WP-0006-scheduled-agent-execution.md |
|
||||
| task | T13 | done | — | workplans/kaizen-agentic-WP-0006-scheduled-agent-execution.md |
|
||||
| task | T14 | done | — | workplans/kaizen-agentic-WP-0006-scheduled-agent-execution.md |
|
||||
| task | T15 | done | — | workplans/kaizen-agentic-WP-0006-scheduled-agent-execution.md |
|
||||
| task | T16 | done | — | workplans/kaizen-agentic-WP-0006-scheduled-agent-execution.md |
|
||||
| task | T17 | done | — | workplans/kaizen-agentic-WP-0006-scheduled-agent-execution.md |
|
||||
| task | T18 | done | — | workplans/kaizen-agentic-WP-0006-scheduled-agent-execution.md |
|
||||
| task | T01 | done | — | workplans/kaizen-agentic-WP-0007-agent-authoring-doc-generation.md |
|
||||
| task | T02 | done | — | workplans/kaizen-agentic-WP-0007-agent-authoring-doc-generation.md |
|
||||
| task | T03 | done | — | workplans/kaizen-agentic-WP-0007-agent-authoring-doc-generation.md |
|
||||
| task | T04 | done | — | workplans/kaizen-agentic-WP-0007-agent-authoring-doc-generation.md |
|
||||
| task | T05 | done | — | workplans/kaizen-agentic-WP-0007-agent-authoring-doc-generation.md |
|
||||
| task | T06 | done | — | workplans/kaizen-agentic-WP-0007-agent-authoring-doc-generation.md |
|
||||
| task | KAIZEN-WP-0008-T01 | done | — | workplans/kaizen-agentic-WP-0008-coulomb-loop-supplier-engagement.md |
|
||||
| task | KAIZEN-WP-0008-T02 | done | — | workplans/kaizen-agentic-WP-0008-coulomb-loop-supplier-engagement.md |
|
||||
| task | KAIZEN-WP-0008-T03 | done | — | workplans/kaizen-agentic-WP-0008-coulomb-loop-supplier-engagement.md |
|
||||
| task | KAIZEN-WP-0008-T04 | done | — | workplans/kaizen-agentic-WP-0008-coulomb-loop-supplier-engagement.md |
|
||||
| task | KAIZEN-WP-0008-T05 | done | — | workplans/kaizen-agentic-WP-0008-coulomb-loop-supplier-engagement.md |
|
||||
| task | KAIZEN-WP-0008-T06 | done | — | workplans/kaizen-agentic-WP-0008-coulomb-loop-supplier-engagement.md |
|
||||
| task | KAIZEN-WP-0008-T07 | done | — | workplans/kaizen-agentic-WP-0008-coulomb-loop-supplier-engagement.md |
|
||||
| task | KAIZEN-WP-0008-T08 | done | — | workplans/kaizen-agentic-WP-0008-coulomb-loop-supplier-engagement.md |
|
||||
| task | KAIZEN-WP-0008-T09 | done | — | workplans/kaizen-agentic-WP-0008-coulomb-loop-supplier-engagement.md |
|
||||
| task | KAIZEN-WP-0008-T10 | done | — | workplans/kaizen-agentic-WP-0008-coulomb-loop-supplier-engagement.md |
|
||||
| task | KAIZEN-WP-0009-T01 | done | — | workplans/kaizen-agentic-WP-0009-forward-deployed-agency.md |
|
||||
| task | KAIZEN-WP-0009-T02 | done | — | workplans/kaizen-agentic-WP-0009-forward-deployed-agency.md |
|
||||
| task | KAIZEN-WP-0009-T03 | done | — | workplans/kaizen-agentic-WP-0009-forward-deployed-agency.md |
|
||||
| task | KAIZEN-WP-0009-T04 | done | — | workplans/kaizen-agentic-WP-0009-forward-deployed-agency.md |
|
||||
| task | KAIZEN-WP-0009-T05 | done | — | workplans/kaizen-agentic-WP-0009-forward-deployed-agency.md |
|
||||
| task | KAIZEN-WP-0009-T06 | done | — | workplans/kaizen-agentic-WP-0009-forward-deployed-agency.md |
|
||||
| task | KAIZEN-WP-0009-T07 | done | — | workplans/kaizen-agentic-WP-0009-forward-deployed-agency.md |
|
||||
| task | KAIZEN-WP-0009-T08 | done | — | workplans/kaizen-agentic-WP-0009-forward-deployed-agency.md |
|
||||
| task | KAIZEN-WP-0009-T09 | done | — | workplans/kaizen-agentic-WP-0009-forward-deployed-agency.md |
|
||||
| task | KAIZEN-WP-0009-T10 | done | — | workplans/kaizen-agentic-WP-0009-forward-deployed-agency.md |
|
||||
| task | KAIZEN-WP-0009-T11 | done | — | workplans/kaizen-agentic-WP-0009-forward-deployed-agency.md |
|
||||
| task | KAIZEN-WP-0010-T01 | done | — | workplans/kaizen-agentic-WP-0010-forgejo-pypi-migration.md |
|
||||
| task | KAIZEN-WP-0010-T02 | done | — | workplans/kaizen-agentic-WP-0010-forgejo-pypi-migration.md |
|
||||
| task | KAIZEN-WP-0010-T03 | done | — | workplans/kaizen-agentic-WP-0010-forgejo-pypi-migration.md |
|
||||
| task | KAIZEN-WP-0010-T04 | done | — | workplans/kaizen-agentic-WP-0010-forgejo-pypi-migration.md |
|
||||
| task | KAIZEN-WP-0010-T05 | done | — | workplans/kaizen-agentic-WP-0010-forgejo-pypi-migration.md |
|
||||
|
|
@ -21,12 +21,12 @@ You are the MarkiTect project assistant, specialized in providing project status
|
|||
- **roadmap/**: Directory with current and close range roadmap-topic-directories for concepts, workplans, examples...
|
||||
- **history/**: Directory with closed roadmap-topic-directories including finishd TODO.md files as YYMMDD-DONE.md
|
||||
- **Makefile**: Provides helpers to use and improve the capabilities provided by the project
|
||||
**Gitea Issues**: Backlog of issues and backlog of tasks stored as issues in gitea before selection as roadmap topics
|
||||
**Forgejo Issues**: Backlog of issues and tasks stored as issues in Forgejo before selection as roadmap topics
|
||||
|
||||
### Project Infrastructure Knowledge
|
||||
|
||||
**Repository Structure:**
|
||||
- Main project hosted on Gitea with issue tracking for use cases and tasks
|
||||
- Main project hosted on Forgejo with issue tracking for use cases and tasks
|
||||
- Planning documentation goes to roadmap/ROADMAPTOPIC subdirectories
|
||||
- Closed roadmap-topic-directories git-mv to history/
|
||||
- Auto generated documentation maintained in docs/
|
||||
|
|
@ -36,7 +36,7 @@ You are the MarkiTect project assistant, specialized in providing project status
|
|||
Important: Respect the directory structure! If in doubt ask or use directories under tmp/ to keep the structure clean!
|
||||
|
||||
**Development Workflow:**
|
||||
- Issue-driven development using Gitea API integration
|
||||
- Issue-driven development using Forgejo API integration
|
||||
- Issue management via universal issue-facade CLI that works with multiple backends
|
||||
- All commits require green test state
|
||||
|
||||
|
|
@ -48,8 +48,8 @@ Important: Respect the directory structure! If in doubt ask or use directories u
|
|||
- **Discovery Tools**: `make capability-search TERM=xyz` to find existing functionality
|
||||
|
||||
**Issue Management Protocol:**
|
||||
- **Gitea-First**: Feature requests, bugs, and enhancements should be documented as Gitea issues
|
||||
- **Issue Creation**: When new requirements emerge, create issues in Gitea immediately but do NOT implement immediately
|
||||
- **Forgejo-First**: Feature requests, bugs, and enhancements should be documented as Forgejo issues
|
||||
- **Issue Creation**: When new requirements emerge, create issues in Forgejo immediately but do NOT implement immediately
|
||||
- **Strategic Planning**: Issues should be prioritized and scheduled based on project roadmap (history/ROADMAP.md)
|
||||
- **Implementation Discipline**: Only work on issues that are explicitly planned for the current session
|
||||
- **Issue Workflow**: Create → Triage → Plan → Schedule → Implement → Close
|
||||
|
|
@ -67,12 +67,12 @@ When asked about project status or next steps:
|
|||
2. **Review Recent Progress**: Check CHANGELOG.md for previous work and progress
|
||||
3. **Check Planned Work**: TODO.md documents next steps and priorities, if empty see topics in roadmap/
|
||||
4. **Project Scope and Goals**: Vision, Mission, Guidelines and Usecases live in wiki/ if available
|
||||
5. **Planning New Stuff**: Requirements (Epics and Stories) are gitea issues to be planned as roadmap topics
|
||||
5. **Planning New Stuff**: Requirements (Epics and Stories) are Forgejo issues to be planned as roadmap topics
|
||||
6. **Consider Git Status**: Allways be aware of current working directory state and recent commits
|
||||
|
||||
### Issue Management Guidelines
|
||||
|
||||
**When to Create Gitea Issues:**
|
||||
**When to Create Forgejo Issues:**
|
||||
- New feature requests or enhancement ideas emerge during development
|
||||
- Bugs or technical debt are discovered but not immediately fixable
|
||||
- Future improvements are identified but outside current session and topic scope
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@ You are a specialized release management agent focused on Python package publica
|
|||
- **Package Building**: Build distribution packages (sdist and wheel) using modern Python tools
|
||||
- **Quality Assurance**: Run comprehensive tests and validation before publication
|
||||
- **PyPI Publication**: Handle TestPyPI and production PyPI uploads with proper authentication
|
||||
- **Post-Release Tasks**: Update documentation, create GitHub releases, and notify stakeholders
|
||||
- **Post-Release Tasks**: Update documentation, create Forgejo releases, and notify stakeholders
|
||||
|
||||
### Documentation Updates
|
||||
- **Installation Instructions**: Update installation guides to reflect publication status
|
||||
|
|
@ -39,7 +39,7 @@ You are a specialized release management agent focused on Python package publica
|
|||
### Production Release
|
||||
- Full validation and testing required
|
||||
- Publish to production PyPI
|
||||
- Create GitHub releases with assets
|
||||
- Create Forgejo releases with assets
|
||||
- Update all documentation
|
||||
|
||||
### Patch Releases
|
||||
|
|
@ -55,7 +55,7 @@ Provide these release- prefixed make targets:
|
|||
- `release-prepare`: Prepare release (update versions, build packages)
|
||||
- `release-test`: Test publication workflow using TestPyPI
|
||||
- `release-publish`: Publish to production PyPI
|
||||
- `release-finalize`: Post-release tasks (tags, GitHub release, documentation)
|
||||
- `release-finalize`: Post-release tasks (tags, Forgejo release, documentation)
|
||||
- `release-rollback`: Emergency rollback procedures
|
||||
|
||||
## Best Practices
|
||||
|
|
@ -83,7 +83,7 @@ Provide these release- prefixed make targets:
|
|||
## Integration Points
|
||||
|
||||
### CI/CD Systems
|
||||
- GitHub Actions workflow integration
|
||||
- Forgejo Actions workflow integration
|
||||
- Automated testing on multiple Python versions
|
||||
- Security scanning and dependency checking
|
||||
- Automated documentation deployment
|
||||
|
|
|
|||
|
|
@ -123,7 +123,7 @@ You are the authoritative guide for the TDD8 workflow using the tddai system. Yo
|
|||
**Supporting Commands:**
|
||||
- `make test-coverage NUM=X` - Analyze test coverage for an issue
|
||||
- `make test` - Run all tests
|
||||
- `make list-issues` - Show all Gitea issues with status
|
||||
- `make list-issues` - Show all Forgejo issues with status
|
||||
- `make show-issue NUM=X` - Show detailed view of specific issue
|
||||
|
||||
### Workspace Management Understanding
|
||||
|
|
@ -306,7 +306,7 @@ Extend data access layer with search methods. Consider adding full-text search f
|
|||
- **Issue Tracker Integration:** Compatible with Gitea, GitHub, and similar platforms
|
||||
- **Issue Reading:** Use `IssueFetcher` for programmatic access
|
||||
- **Issue Writing:** Use `IssueWriter` for updates via authenticated PATCH
|
||||
- **Environment Variables:** `GITEA_API_TOKEN` or platform-specific tokens for authentication
|
||||
- **Environment Variables:** `FORGEJO_API_TOKEN` or platform-specific tokens for authentication
|
||||
|
||||
### Test Framework
|
||||
- **pytest-based:** All tests use pytest framework
|
||||
|
|
|
|||
|
|
@ -86,7 +86,7 @@ Remove tests when:
|
|||
- Update tests to reflect new command structures and access patterns
|
||||
|
||||
### Backend Systems
|
||||
- **Primary**: Gitea backend for issue management
|
||||
- **Primary**: Forgejo backend for issue management
|
||||
- **Secondary**: Local plugin for offline/alternative workflows
|
||||
- **Focus**: Prioritize tests for actively used functionality
|
||||
|
||||
|
|
@ -122,7 +122,7 @@ ACTION: Modify assertions to match new CLI structure
|
|||
### Scenario 2: Obsolete Functionality
|
||||
```
|
||||
FAILING: test_local_plugin_sequential_numbering()
|
||||
CAUSE: Local plugin not actively used, Gitea is primary backend
|
||||
CAUSE: Local plugin not actively used, Forgejo is primary backend
|
||||
DECISION: Remove test as functionality is not essential to current workflow
|
||||
ACTION: Remove test method and document rationale
|
||||
```
|
||||
|
|
|
|||
|
|
@ -13,14 +13,11 @@ The Kaizen Agentic framework provides a comprehensive system for distributing an
|
|||
|
||||
## Installation
|
||||
|
||||
Install the Kaizen Agentic package from the Coulomb Gitea PyPI registry:
|
||||
Install the Kaizen Agentic package from the Forgejo PyPI registry:
|
||||
|
||||
```bash
|
||||
export GITEA_PACKAGE_USER=<gitea-user>
|
||||
export GITEA_PACKAGE_TOKEN=<package-token>
|
||||
|
||||
pip install kaizen-agentic \
|
||||
--extra-index-url "https://${GITEA_PACKAGE_USER}:${GITEA_PACKAGE_TOKEN}@gitea.coulomb.social/api/packages/coulomb/pypi/simple/"
|
||||
--extra-index-url https://forgejo.coulomb.social/api/packages/coulomb/pypi/simple/
|
||||
```
|
||||
|
||||
This provides the `kaizen-agentic` CLI tool for managing agents. See
|
||||
|
|
|
|||
|
|
@ -4,14 +4,11 @@ Quick reference for the `kaizen-agentic` command-line tool.
|
|||
|
||||
## Installation
|
||||
|
||||
From Coulomb Gitea PyPI (see [PACKAGE_RELEASE.md](PACKAGE_RELEASE.md)):
|
||||
From Forgejo PyPI (see [PACKAGE_RELEASE.md](PACKAGE_RELEASE.md)):
|
||||
|
||||
```bash
|
||||
export GITEA_PACKAGE_USER=<gitea-user>
|
||||
export GITEA_PACKAGE_TOKEN=<package-token>
|
||||
|
||||
pip install kaizen-agentic \
|
||||
--extra-index-url "https://${GITEA_PACKAGE_USER}:${GITEA_PACKAGE_TOKEN}@gitea.coulomb.social/api/packages/coulomb/pypi/simple/"
|
||||
--extra-index-url https://forgejo.coulomb.social/api/packages/coulomb/pypi/simple/
|
||||
```
|
||||
|
||||
## Core Commands
|
||||
|
|
|
|||
|
|
@ -6,12 +6,12 @@ How to share bugs, ideas, and adoption experience for kaizen-agentic.
|
|||
|
||||
| Channel | Use for |
|
||||
|---------|---------|
|
||||
| **Gitea Issues** | Bugs, features, general feedback (templates below) |
|
||||
| **Forgejo Issues** | Bugs, features, general feedback (templates below) |
|
||||
| **`kaizen-agentic feedback`** | Print links and template guidance from the CLI |
|
||||
| **Pull requests** | Code and agent-definition contributions (see CONTRIBUTING.md) |
|
||||
| **State Hub messages** | Cross-repo coordination between custodian agents (advanced) |
|
||||
|
||||
## Gitea issue templates
|
||||
## Forgejo issue templates
|
||||
|
||||
Choose a template when opening a new issue:
|
||||
|
||||
|
|
@ -19,7 +19,7 @@ Choose a template when opening a new issue:
|
|||
- **Feature request** — enhancements with proposed scope
|
||||
- **General feedback** — experience and adoption notes
|
||||
|
||||
Repository: [coulomb/kaizen-agentic](https://gitea.coulomb.social/coulomb/kaizen-agentic/issues)
|
||||
Repository: [coulomb/kaizen-agentic](https://forgejo.coulomb.social/coulomb/kaizen-agentic/issues)
|
||||
|
||||
## CLI
|
||||
|
||||
|
|
@ -38,4 +38,4 @@ kaizen-agentic feedback --json # machine-readable for tooling
|
|||
## Privacy
|
||||
|
||||
Do not include secrets, tokens, or private project content in public issues. Redact
|
||||
`.kaizen/` memory contents unless you intentionally share sanitized examples.
|
||||
`.kaizen/` memory contents unless you intentionally share sanitized examples.
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ This guide walks you through using Kaizen Agentic agents in any project, from in
|
|||
|
||||
```bash
|
||||
# Clone the repository
|
||||
git clone https://github.com/kaizen-agentic/kaizen-agentic.git
|
||||
git clone https://forgejo.coulomb.social/coulomb/kaizen-agentic.git
|
||||
cd kaizen-agentic
|
||||
|
||||
# Set up development environment
|
||||
|
|
@ -29,7 +29,7 @@ source .venv/bin/activate
|
|||
|
||||
```bash
|
||||
# Clone the repository and build package
|
||||
git clone https://github.com/kaizen-agentic/kaizen-agentic.git
|
||||
git clone https://forgejo.coulomb.social/coulomb/kaizen-agentic.git
|
||||
cd kaizen-agentic
|
||||
make setup-complete
|
||||
|
||||
|
|
@ -45,7 +45,7 @@ source .venv/bin/activate
|
|||
|
||||
```bash
|
||||
# Clone the repository and build package
|
||||
git clone https://github.com/kaizen-agentic/kaizen-agentic.git
|
||||
git clone https://forgejo.coulomb.social/coulomb/kaizen-agentic.git
|
||||
cd kaizen-agentic
|
||||
make setup-complete
|
||||
|
||||
|
|
@ -57,21 +57,18 @@ make install-global
|
|||
# CLI available from any directory
|
||||
```
|
||||
|
||||
**Option D: From Gitea PyPI (v1.1.0+)**
|
||||
**Option D: From Forgejo PyPI (v1.1.0+)**
|
||||
|
||||
```bash
|
||||
export GITEA_PACKAGE_USER=<gitea-user>
|
||||
export GITEA_PACKAGE_TOKEN=<package-token>
|
||||
|
||||
pip install kaizen-agentic \
|
||||
--extra-index-url "https://${GITEA_PACKAGE_USER}:${GITEA_PACKAGE_TOKEN}@gitea.coulomb.social/api/packages/coulomb/pypi/simple/"
|
||||
--extra-index-url https://forgejo.coulomb.social/api/packages/coulomb/pypi/simple/
|
||||
|
||||
# or global CLI via pipx
|
||||
pipx install kaizen-agentic \
|
||||
--pip-args="--extra-index-url https://${GITEA_PACKAGE_USER}:${GITEA_PACKAGE_TOKEN}@gitea.coulomb.social/api/packages/coulomb/pypi/simple/"
|
||||
--pip-args="--extra-index-url https://forgejo.coulomb.social/api/packages/coulomb/pypi/simple/"
|
||||
```
|
||||
|
||||
> **📦 Registry**: Published on the Coulomb Gitea PyPI registry. Dependencies resolve
|
||||
> **📦 Registry**: Published on the Forgejo PyPI registry. Dependencies resolve
|
||||
> from public PyPI via `--extra-index-url`. See [PACKAGE_RELEASE.md](PACKAGE_RELEASE.md).
|
||||
|
||||
### 2. Verify Installation
|
||||
|
|
@ -273,7 +270,7 @@ jobs:
|
|||
python-version: '3.8'
|
||||
- run: >-
|
||||
pip install kaizen-agentic
|
||||
--extra-index-url "https://${{ secrets.GITEA_PACKAGE_USER }}:${{ secrets.GITEA_PACKAGE_TOKEN }}@gitea.coulomb.social/api/packages/coulomb/pypi/simple/"
|
||||
--extra-index-url https://forgejo.coulomb.social/api/packages/coulomb/pypi/simple/
|
||||
- run: kaizen-agentic validate
|
||||
```
|
||||
|
||||
|
|
@ -413,7 +410,7 @@ kaizen-agentic status
|
|||
# New team member setup
|
||||
git clone project-repo
|
||||
cd project-repo
|
||||
# see Option D for GITEA_PACKAGE_USER / GITEA_PACKAGE_TOKEN and --extra-index-url
|
||||
# see Option D for the Forgejo --extra-index-url
|
||||
pip install kaizen-agentic
|
||||
kaizen-agentic status # See what agents are used
|
||||
kaizen-agentic validate # Verify everything works
|
||||
|
|
@ -428,16 +425,14 @@ cat CLAUDE.md
|
|||
|
||||
**"Command not found: kaizen-agentic"**
|
||||
```bash
|
||||
# Install from Gitea PyPI (same credentials as Option D)
|
||||
export GITEA_PACKAGE_USER=<gitea-user>
|
||||
export GITEA_PACKAGE_TOKEN=<package-token>
|
||||
# Install from Forgejo PyPI (same endpoint as Option D)
|
||||
pip install kaizen-agentic \
|
||||
--extra-index-url "https://${GITEA_PACKAGE_USER}:${GITEA_PACKAGE_TOKEN}@gitea.coulomb.social/api/packages/coulomb/pypi/simple/"
|
||||
--extra-index-url https://forgejo.coulomb.social/api/packages/coulomb/pypi/simple/
|
||||
|
||||
# Or if using virtual env:
|
||||
source .venv/bin/activate
|
||||
pip install kaizen-agentic \
|
||||
--extra-index-url "https://${GITEA_PACKAGE_USER}:${GITEA_PACKAGE_TOKEN}@gitea.coulomb.social/api/packages/coulomb/pypi/simple/"
|
||||
--extra-index-url https://forgejo.coulomb.social/api/packages/coulomb/pypi/simple/
|
||||
```
|
||||
|
||||
**"No agents directory found"**
|
||||
|
|
|
|||
|
|
@ -9,14 +9,11 @@ This step-by-step tutorial will guide you through creating your first project wi
|
|||
|
||||
## Step 1: Install Kaizen Agentic
|
||||
|
||||
From the Coulomb Gitea PyPI registry (dependencies resolve from public PyPI):
|
||||
From the Forgejo PyPI registry (dependencies resolve from public PyPI):
|
||||
|
||||
```bash
|
||||
export GITEA_PACKAGE_USER=<gitea-user>
|
||||
export GITEA_PACKAGE_TOKEN=<package-token>
|
||||
|
||||
pip install kaizen-agentic \
|
||||
--extra-index-url "https://${GITEA_PACKAGE_USER}:${GITEA_PACKAGE_TOKEN}@gitea.coulomb.social/api/packages/coulomb/pypi/simple/"
|
||||
--extra-index-url https://forgejo.coulomb.social/api/packages/coulomb/pypi/simple/
|
||||
```
|
||||
|
||||
See [PACKAGE_RELEASE.md](PACKAGE_RELEASE.md) for pipx and release details.
|
||||
|
|
@ -243,11 +240,9 @@ kaizen-agentic status
|
|||
|
||||
**"kaizen-agentic: command not found"**
|
||||
```bash
|
||||
# Same install as Step 1 (Gitea extra index — see PACKAGE_RELEASE.md)
|
||||
export GITEA_PACKAGE_USER=<gitea-user>
|
||||
export GITEA_PACKAGE_TOKEN=<package-token>
|
||||
# Same install as Step 1 (Forgejo extra index — see PACKAGE_RELEASE.md)
|
||||
pip install kaizen-agentic \
|
||||
--extra-index-url "https://${GITEA_PACKAGE_USER}:${GITEA_PACKAGE_TOKEN}@gitea.coulomb.social/api/packages/coulomb/pypi/simple/"
|
||||
--extra-index-url https://forgejo.coulomb.social/api/packages/coulomb/pypi/simple/
|
||||
```
|
||||
|
||||
**"make: command not found"**
|
||||
|
|
|
|||
|
|
@ -52,7 +52,7 @@ invoke kaizen-agentic CLI commands.
|
|||
5. **Enable gradually** — set `enabled: true` per definition after a manual smoke test
|
||||
against a repo with `.kaizen/metrics/` populated.
|
||||
6. **Verify credentials** — scheduled runs need `kaizen-agentic` on PATH and any
|
||||
Gitea PyPI extra index if the runner installs from registry (see PACKAGE_RELEASE.md).
|
||||
Forgejo PyPI extra index if the runner installs from registry (see PACKAGE_RELEASE.md).
|
||||
|
||||
**kaizen-agentic maintainer checklist:**
|
||||
|
||||
|
|
|
|||
|
|
@ -1,30 +1,27 @@
|
|||
# Python Package Release
|
||||
|
||||
`kaizen-agentic` publishes as the `kaizen-agentic` Python package on the Coulomb
|
||||
Gitea PyPI registry. Public [pypi.org](https://pypi.org/) distribution is optional
|
||||
`kaizen-agentic` publishes as the `kaizen-agentic` Python package on the Forgejo
|
||||
PyPI registry. Public [pypi.org](https://pypi.org/) distribution is optional
|
||||
and not required for ecosystem use.
|
||||
|
||||
## Install (consumers)
|
||||
|
||||
Dependencies such as `pyyaml` resolve from public PyPI. Use Gitea as an extra index:
|
||||
Dependencies such as `pyyaml` resolve from public PyPI. Use Forgejo as an extra index:
|
||||
|
||||
```bash
|
||||
export GITEA_PACKAGE_USER=<gitea-user>
|
||||
export GITEA_PACKAGE_TOKEN=<package-token>
|
||||
|
||||
pip install kaizen-agentic \
|
||||
--extra-index-url "https://${GITEA_PACKAGE_USER}:${GITEA_PACKAGE_TOKEN}@gitea.coulomb.social/api/packages/coulomb/pypi/simple/"
|
||||
--extra-index-url https://forgejo.coulomb.social/api/packages/coulomb/pypi/simple/
|
||||
```
|
||||
|
||||
Global CLI via pipx:
|
||||
|
||||
```bash
|
||||
pipx install kaizen-agentic \
|
||||
--pip-args="--extra-index-url https://${GITEA_PACKAGE_USER}:${GITEA_PACKAGE_TOKEN}@gitea.coulomb.social/api/packages/coulomb/pypi/simple/"
|
||||
--pip-args="--extra-index-url https://forgejo.coulomb.social/api/packages/coulomb/pypi/simple/"
|
||||
```
|
||||
|
||||
Do not commit tokenized index URLs. Inject credentials via environment variables or
|
||||
CI secrets.
|
||||
Consumer reads are anonymous. Keep publish credentials in Forgejo Actions secrets
|
||||
or inject them through the environment for a deliberate local release.
|
||||
|
||||
## Local Release
|
||||
|
||||
|
|
@ -37,53 +34,47 @@ make package-check
|
|||
Publish to the Coulomb organization registry:
|
||||
|
||||
```bash
|
||||
TWINE_USERNAME=<gitea-user> \
|
||||
TWINE_USERNAME=<forgejo-user> \
|
||||
TWINE_PASSWORD=<package-token> \
|
||||
make publish-gitea
|
||||
make publish-forgejo
|
||||
```
|
||||
|
||||
Package upload endpoint:
|
||||
|
||||
```text
|
||||
https://gitea.coulomb.social/api/packages/coulomb/pypi
|
||||
https://forgejo.coulomb.social/api/packages/coulomb/pypi
|
||||
```
|
||||
|
||||
Consumer simple index:
|
||||
|
||||
```text
|
||||
https://gitea.coulomb.social/api/packages/coulomb/pypi/simple/
|
||||
https://forgejo.coulomb.social/api/packages/coulomb/pypi/simple/
|
||||
```
|
||||
|
||||
## Gitea repository secrets (one-time)
|
||||
## Forgejo repository secrets (one-time)
|
||||
|
||||
Configure in Gitea: **Repository → Settings → Actions → Secrets**.
|
||||
Configure in Forgejo: **Repository → Settings → Actions → Secrets** (or use
|
||||
organization-level secrets when managed centrally).
|
||||
|
||||
| Secret | Value |
|
||||
|--------|-------|
|
||||
| `PACKAGE_USER` | `tegwick` — Gitea username that owns the package token |
|
||||
| `PACKAGE_TOKEN` | Gitea API token named `inter-hub-pkg-rep` (`write:package`) |
|
||||
| `FORGEJO_PYPI_USER` | Forgejo username that owns the package token |
|
||||
| `FORGEJO_PYPI_TOKEN` | Forgejo token with package-write permission |
|
||||
|
||||
Token custody (OpenBao):
|
||||
Discover credential ownership before requesting or rotating a token:
|
||||
|
||||
```text
|
||||
platform/data/operators/inter-hub/package-management
|
||||
→ field: inter-hub-pkg-rep
|
||||
```bash
|
||||
warden route find "publish kaizen-agentic to Forgejo PyPI" --json
|
||||
```
|
||||
|
||||
Paste the **plaintext** token into the Gitea secret UI. `inter-hub-pkg-rep` is the
|
||||
token name in Gitea, not a username.
|
||||
|
||||
Gitea rejects secret names prefixed with `GITEA_` — use `PACKAGE_USER` / `PACKAGE_TOKEN`
|
||||
(not `GITEA_PACKAGE_USER`). Workflows use `runs-on: haskelseed` and native `git clone`
|
||||
(no GitHub Marketplace actions).
|
||||
Never commit or copy the token into documentation, workplans, or State Hub.
|
||||
|
||||
The publish workflow fails at the upload step when either secret is missing or
|
||||
invalid. Do not commit tokens to the repository.
|
||||
|
||||
**Smoke-test (2026-06-16):** `workflow_dispatch` run #3042 authenticated successfully
|
||||
(`409 Conflict` on re-upload of `1.1.0` — expected). Root causes of earlier `401`s:
|
||||
wrong token (`GITEA_API_TOKEN` ≠ package token), wrong username (`inter-hub-pkg-rep`
|
||||
is a token name), and a stale org-level secret. Build uses `.build-venv` (PEP 668).
|
||||
**Verified (2026-08-20):** the Forgejo index serves `kaizen-agentic==1.4.0`.
|
||||
A fresh virtual environment installed it with `--no-cache-dir` and the CLI reported
|
||||
version `1.4.0`.
|
||||
|
||||
Verify secrets without cutting a release:
|
||||
|
||||
|
|
@ -103,13 +94,13 @@ Before `git tag vX.Y.Z && git push origin vX.Y.Z`:
|
|||
- [ ] `make release-check` passes (tests, flake8, version consistency, agent parity)
|
||||
- [ ] `make package-check` builds and validates `dist/*`
|
||||
- [ ] `CHANGELOG.md` has a dated `[X.Y.Z]` section matching `pyproject.toml`
|
||||
- [ ] `PACKAGE_USER` and `PACKAGE_TOKEN` secrets are set
|
||||
- [ ] `FORGEJO_PYPI_USER` and `FORGEJO_PYPI_TOKEN` secrets are set
|
||||
- [ ] Publish workflow smoke-tested via `workflow_dispatch` (or prior tag release)
|
||||
- [ ] `make agents-sync-package` run if `agents/` changed since last release
|
||||
|
||||
## Gitea Actions Release
|
||||
## Forgejo Actions Release
|
||||
|
||||
The `.gitea/workflows/publish-python-package.yml` workflow publishes on tags
|
||||
The `.forgejo/workflows/publish-python-package.yml` workflow publishes on tags
|
||||
matching `v*`.
|
||||
|
||||
Example:
|
||||
|
|
@ -135,11 +126,11 @@ A runner that executes a scheduled kaizen agent task (fired by activity-core)
|
|||
needs:
|
||||
|
||||
- **`kaizen-agentic` on PATH** — `pip install kaizen-agentic` (or `pipx install
|
||||
kaizen-agentic`) using the Gitea PyPI extra index when installing from the
|
||||
kaizen-agentic`) using the Forgejo PyPI extra index when installing from the
|
||||
internal registry:
|
||||
```bash
|
||||
pip install kaizen-agentic \
|
||||
--extra-index-url https://gitea.coulomb.social/api/packages/coulomb/pypi/simple/
|
||||
--extra-index-url https://forgejo.coulomb.social/api/packages/coulomb/pypi/simple/
|
||||
```
|
||||
- **Repo checkout reachable** at the `host_paths[<host>]` registered in State
|
||||
Hub, with a valid `.kaizen/schedule.yml` (`kaizen-agentic schedule validate`).
|
||||
|
|
|
|||
|
|
@ -39,11 +39,11 @@ Potential v1.1 additions (not yet implemented):
|
|||
|
||||
## tele-mcp evaluation (deferred)
|
||||
|
||||
[tele-mcp](https://gitea.coulomb.social/coulomb/tele-mcp) is a candidate MCP adapter
|
||||
[tele-mcp](https://forgejo.coulomb.social/coulomb/tele-mcp) is a candidate MCP adapter
|
||||
for IDE-level telemetry (WP-0001 note). Assess before depending on it. Project and
|
||||
fleet layers above satisfy INTENT's "measurable agents" requirement without tele-mcp.
|
||||
|
||||
## Feedback loop
|
||||
|
||||
User experience feedback uses [FEEDBACK.md](FEEDBACK.md) and Gitea issue templates —
|
||||
User experience feedback uses [FEEDBACK.md](FEEDBACK.md) and Forgejo issue templates —
|
||||
separate from execution metrics.
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
How kaizen-agentic supports a **customer engagement repo** for **improvement
|
||||
loops** (reference:
|
||||
[coulomb-loop](https://gitea.coulomb.social/coulomb/coulomb-loop)). Second loop
|
||||
[coulomb-loop](https://forgejo.coulomb.social/coulomb/coulomb-loop)). Second loop
|
||||
engagements should copy [customer-engagement-repo-layout.md](customer-engagement-repo-layout.md)
|
||||
and complete the checklist in one session.
|
||||
|
||||
|
|
@ -93,7 +93,7 @@ kaizen-agentic schedule init --engagement <slug> --bootstrap-cadence weekly --fo
|
|||
|
||||
## Reference implementation
|
||||
|
||||
- Customer: [coulomb-loop INTENT](https://gitea.coulomb.social/coulomb/coulomb-loop/src/branch/main/INTENT.md)
|
||||
- Customer: [coulomb-loop INTENT](https://forgejo.coulomb.social/coulomb/coulomb-loop/src/branch/main/INTENT.md)
|
||||
- Supplier workplan: [KAIZEN-WP-0008](../../workplans/kaizen-agentic-WP-0008-coulomb-loop-supplier-engagement.md)
|
||||
- Convention: [ADR-006](../adr/ADR-006-customer-engagement-convention.md)
|
||||
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
Contract for a **customer engagement repository** that orchestrates kaizen
|
||||
improvement loops across a fleet roster. Reference implementation:
|
||||
[coulomb-loop](https://gitea.coulomb.social/coulomb/coulomb-loop) (`coulomb_social` domain).
|
||||
[coulomb-loop](https://forgejo.coulomb.social/coulomb/coulomb-loop) (`coulomb_social` domain).
|
||||
|
||||
Supplier agents and CLI live in `kaizen-agentic`. Runtime `.kaizen/` state lives
|
||||
in **target repos**, not in the customer repo.
|
||||
|
|
|
|||
|
|
@ -56,9 +56,9 @@ test = [
|
|||
kaizen-agentic = "kaizen_agentic.cli:safe_cli_wrapper"
|
||||
|
||||
[project.urls]
|
||||
"Homepage" = "https://github.com/kaizen-agentic/kaizen-agentic"
|
||||
"Bug Reports" = "https://github.com/kaizen-agentic/kaizen-agentic/issues"
|
||||
"Source" = "https://github.com/kaizen-agentic/kaizen-agentic"
|
||||
"Homepage" = "https://forgejo.coulomb.social/coulomb/kaizen-agentic"
|
||||
"Bug Reports" = "https://forgejo.coulomb.social/coulomb/kaizen-agentic/issues"
|
||||
"Source" = "https://forgejo.coulomb.social/coulomb/kaizen-agentic"
|
||||
|
||||
[tool.setuptools.packages.find]
|
||||
where = ["src"]
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ maturity:
|
|||
target: D5
|
||||
confidence: medium
|
||||
rationale: README documents the agent library, the agency framework (persistent memory, Coach meta-agent
|
||||
synthesising fleet-wide patterns), and a versioned release (v1.4.0); has .gitea/workflows CI.
|
||||
synthesising fleet-wide patterns), and a versioned release (v1.4.0); has .forgejo/workflows CI.
|
||||
availability:
|
||||
current: A2
|
||||
target: A3
|
||||
|
|
@ -71,7 +71,7 @@ evidence:
|
|||
- README.md
|
||||
tests:
|
||||
- tests/
|
||||
- .gitea/workflows/
|
||||
- .forgejo/workflows/
|
||||
consumer_feedback: []
|
||||
bug_reports: []
|
||||
incidents: []
|
||||
|
|
@ -95,7 +95,7 @@ promotion_history: []
|
|||
|
||||
### Discovery
|
||||
|
||||
README documents the agent library, the agency framework (persistent memory, Coach meta-agent synthesising fleet-wide patterns), and a versioned release (v1.4.0); has .gitea/workflows CI.
|
||||
README documents the agent library, the agency framework (persistent memory, Coach meta-agent synthesising fleet-wide patterns), and a versioned release (v1.4.0); has .forgejo/workflows CI.
|
||||
|
||||
### Availability
|
||||
|
||||
|
|
|
|||
|
|
@ -172,14 +172,14 @@ def safe_cli_wrapper():
|
|||
|
||||
|
||||
_FEEDBACK_CHANNELS = {
|
||||
"issues": "https://gitea.coulomb.social/coulomb/kaizen-agentic/issues",
|
||||
"issue_templates": "https://gitea.coulomb.social/coulomb/kaizen-agentic/issues/new/choose",
|
||||
"issues": "https://forgejo.coulomb.social/coulomb/kaizen-agentic/issues",
|
||||
"issue_templates": "https://forgejo.coulomb.social/coulomb/kaizen-agentic/issues/new/choose",
|
||||
"feedback_guide": (
|
||||
"https://gitea.coulomb.social/coulomb/kaizen-agentic/"
|
||||
"https://forgejo.coulomb.social/coulomb/kaizen-agentic/"
|
||||
"src/branch/main/docs/FEEDBACK.md"
|
||||
),
|
||||
"contributing": (
|
||||
"https://gitea.coulomb.social/coulomb/kaizen-agentic/"
|
||||
"https://forgejo.coulomb.social/coulomb/kaizen-agentic/"
|
||||
"src/branch/main/CONTRIBUTING.md"
|
||||
),
|
||||
}
|
||||
|
|
@ -200,7 +200,7 @@ def feedback(as_json: bool):
|
|||
"channels": _FEEDBACK_CHANNELS,
|
||||
"templates": ["bug_report", "feature_request", "feedback"],
|
||||
"cli_hint": (
|
||||
"Use Gitea issue templates or State Hub messages "
|
||||
"Use Forgejo issue templates or State Hub messages "
|
||||
"for cross-repo coordination"
|
||||
),
|
||||
}
|
||||
|
|
|
|||
|
|
@ -21,12 +21,12 @@ You are the MarkiTect project assistant, specialized in providing project status
|
|||
- **roadmap/**: Directory with current and close range roadmap-topic-directories for concepts, workplans, examples...
|
||||
- **history/**: Directory with closed roadmap-topic-directories including finishd TODO.md files as YYMMDD-DONE.md
|
||||
- **Makefile**: Provides helpers to use and improve the capabilities provided by the project
|
||||
**Gitea Issues**: Backlog of issues and backlog of tasks stored as issues in gitea before selection as roadmap topics
|
||||
**Forgejo Issues**: Backlog of issues and tasks stored as issues in Forgejo before selection as roadmap topics
|
||||
|
||||
### Project Infrastructure Knowledge
|
||||
|
||||
**Repository Structure:**
|
||||
- Main project hosted on Gitea with issue tracking for use cases and tasks
|
||||
- Main project hosted on Forgejo with issue tracking for use cases and tasks
|
||||
- Planning documentation goes to roadmap/ROADMAPTOPIC subdirectories
|
||||
- Closed roadmap-topic-directories git-mv to history/
|
||||
- Auto generated documentation maintained in docs/
|
||||
|
|
@ -36,7 +36,7 @@ You are the MarkiTect project assistant, specialized in providing project status
|
|||
Important: Respect the directory structure! If in doubt ask or use directories under tmp/ to keep the structure clean!
|
||||
|
||||
**Development Workflow:**
|
||||
- Issue-driven development using Gitea API integration
|
||||
- Issue-driven development using Forgejo API integration
|
||||
- Issue management via universal issue-facade CLI that works with multiple backends
|
||||
- All commits require green test state
|
||||
|
||||
|
|
@ -48,8 +48,8 @@ Important: Respect the directory structure! If in doubt ask or use directories u
|
|||
- **Discovery Tools**: `make capability-search TERM=xyz` to find existing functionality
|
||||
|
||||
**Issue Management Protocol:**
|
||||
- **Gitea-First**: Feature requests, bugs, and enhancements should be documented as Gitea issues
|
||||
- **Issue Creation**: When new requirements emerge, create issues in Gitea immediately but do NOT implement immediately
|
||||
- **Forgejo-First**: Feature requests, bugs, and enhancements should be documented as Forgejo issues
|
||||
- **Issue Creation**: When new requirements emerge, create issues in Forgejo immediately but do NOT implement immediately
|
||||
- **Strategic Planning**: Issues should be prioritized and scheduled based on project roadmap (history/ROADMAP.md)
|
||||
- **Implementation Discipline**: Only work on issues that are explicitly planned for the current session
|
||||
- **Issue Workflow**: Create → Triage → Plan → Schedule → Implement → Close
|
||||
|
|
@ -67,12 +67,12 @@ When asked about project status or next steps:
|
|||
2. **Review Recent Progress**: Check CHANGELOG.md for previous work and progress
|
||||
3. **Check Planned Work**: TODO.md documents next steps and priorities, if empty see topics in roadmap/
|
||||
4. **Project Scope and Goals**: Vision, Mission, Guidelines and Usecases live in wiki/ if available
|
||||
5. **Planning New Stuff**: Requirements (Epics and Stories) are gitea issues to be planned as roadmap topics
|
||||
5. **Planning New Stuff**: Requirements (Epics and Stories) are Forgejo issues to be planned as roadmap topics
|
||||
6. **Consider Git Status**: Allways be aware of current working directory state and recent commits
|
||||
|
||||
### Issue Management Guidelines
|
||||
|
||||
**When to Create Gitea Issues:**
|
||||
**When to Create Forgejo Issues:**
|
||||
- New feature requests or enhancement ideas emerge during development
|
||||
- Bugs or technical debt are discovered but not immediately fixable
|
||||
- Future improvements are identified but outside current session and topic scope
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@ You are a specialized release management agent focused on Python package publica
|
|||
- **Package Building**: Build distribution packages (sdist and wheel) using modern Python tools
|
||||
- **Quality Assurance**: Run comprehensive tests and validation before publication
|
||||
- **PyPI Publication**: Handle TestPyPI and production PyPI uploads with proper authentication
|
||||
- **Post-Release Tasks**: Update documentation, create GitHub releases, and notify stakeholders
|
||||
- **Post-Release Tasks**: Update documentation, create Forgejo releases, and notify stakeholders
|
||||
|
||||
### Documentation Updates
|
||||
- **Installation Instructions**: Update installation guides to reflect publication status
|
||||
|
|
@ -39,7 +39,7 @@ You are a specialized release management agent focused on Python package publica
|
|||
### Production Release
|
||||
- Full validation and testing required
|
||||
- Publish to production PyPI
|
||||
- Create GitHub releases with assets
|
||||
- Create Forgejo releases with assets
|
||||
- Update all documentation
|
||||
|
||||
### Patch Releases
|
||||
|
|
@ -55,7 +55,7 @@ Provide these release- prefixed make targets:
|
|||
- `release-prepare`: Prepare release (update versions, build packages)
|
||||
- `release-test`: Test publication workflow using TestPyPI
|
||||
- `release-publish`: Publish to production PyPI
|
||||
- `release-finalize`: Post-release tasks (tags, GitHub release, documentation)
|
||||
- `release-finalize`: Post-release tasks (tags, Forgejo release, documentation)
|
||||
- `release-rollback`: Emergency rollback procedures
|
||||
|
||||
## Best Practices
|
||||
|
|
@ -83,7 +83,7 @@ Provide these release- prefixed make targets:
|
|||
## Integration Points
|
||||
|
||||
### CI/CD Systems
|
||||
- GitHub Actions workflow integration
|
||||
- Forgejo Actions workflow integration
|
||||
- Automated testing on multiple Python versions
|
||||
- Security scanning and dependency checking
|
||||
- Automated documentation deployment
|
||||
|
|
|
|||
|
|
@ -123,7 +123,7 @@ You are the authoritative guide for the TDD8 workflow using the tddai system. Yo
|
|||
**Supporting Commands:**
|
||||
- `make test-coverage NUM=X` - Analyze test coverage for an issue
|
||||
- `make test` - Run all tests
|
||||
- `make list-issues` - Show all Gitea issues with status
|
||||
- `make list-issues` - Show all Forgejo issues with status
|
||||
- `make show-issue NUM=X` - Show detailed view of specific issue
|
||||
|
||||
### Workspace Management Understanding
|
||||
|
|
@ -306,7 +306,7 @@ Extend data access layer with search methods. Consider adding full-text search f
|
|||
- **Issue Tracker Integration:** Compatible with Gitea, GitHub, and similar platforms
|
||||
- **Issue Reading:** Use `IssueFetcher` for programmatic access
|
||||
- **Issue Writing:** Use `IssueWriter` for updates via authenticated PATCH
|
||||
- **Environment Variables:** `GITEA_API_TOKEN` or platform-specific tokens for authentication
|
||||
- **Environment Variables:** `FORGEJO_API_TOKEN` or platform-specific tokens for authentication
|
||||
|
||||
### Test Framework
|
||||
- **pytest-based:** All tests use pytest framework
|
||||
|
|
|
|||
|
|
@ -86,7 +86,7 @@ Remove tests when:
|
|||
- Update tests to reflect new command structures and access patterns
|
||||
|
||||
### Backend Systems
|
||||
- **Primary**: Gitea backend for issue management
|
||||
- **Primary**: Forgejo backend for issue management
|
||||
- **Secondary**: Local plugin for offline/alternative workflows
|
||||
- **Focus**: Prioritize tests for actively used functionality
|
||||
|
||||
|
|
@ -122,7 +122,7 @@ ACTION: Modify assertions to match new CLI structure
|
|||
### Scenario 2: Obsolete Functionality
|
||||
```
|
||||
FAILING: test_local_plugin_sequential_numbering()
|
||||
CAUSE: Local plugin not actively used, Gitea is primary backend
|
||||
CAUSE: Local plugin not actively used, Forgejo is primary backend
|
||||
DECISION: Remove test as functionality is not essential to current workflow
|
||||
ACTION: Remove test method and document rationale
|
||||
```
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ def test_feedback_human_output():
|
|||
result = runner.invoke(cli, ["feedback"])
|
||||
assert result.exit_code == 0
|
||||
assert "feedback channels" in result.output.lower()
|
||||
assert "gitea.coulomb.social" in result.output
|
||||
assert "forgejo.coulomb.social" in result.output
|
||||
assert "bug report" in result.output.lower()
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ type: workplan
|
|||
title: "Migrate package distribution from gitea to forgejo before CoulombCore retires"
|
||||
domain: agents
|
||||
repo: kaizen-agentic
|
||||
status: proposed
|
||||
status: finished
|
||||
owner: kaizen-agentic
|
||||
topic_slug: custodian
|
||||
created: "2026-08-20"
|
||||
|
|
@ -12,20 +12,21 @@ updated: "2026-08-20"
|
|||
depends_on: []
|
||||
tasks:
|
||||
- id: T01
|
||||
status: todo
|
||||
status: done
|
||||
title: Establish whether kaizen-agentic packages already exist on forgejo
|
||||
- id: T02
|
||||
status: todo
|
||||
status: done
|
||||
title: Publish current versions to the forgejo PyPI index
|
||||
- id: T03
|
||||
status: todo
|
||||
status: done
|
||||
title: Repoint Makefile and all six docs in one change
|
||||
- id: T04
|
||||
status: todo
|
||||
status: done
|
||||
title: Verify a clean install from forgejo on an uncached machine
|
||||
- id: T05
|
||||
status: todo
|
||||
status: done
|
||||
title: Retire the gitea variables and close out
|
||||
state_hub_workstream_id: "78d33e10-49dc-41c2-8fbf-475520704f08"
|
||||
---
|
||||
|
||||
# KAIZEN-WP-0010 — Migrate package distribution to forgejo
|
||||
|
|
@ -39,12 +40,10 @@ the operator on that date.
|
|||
registry and a **PyPI package index** at `/api/packages/coulomb/pypi`. Both stop
|
||||
existing when the host does.
|
||||
|
||||
kaizen-agentic appears to be the only repo in the estate that never migrated.
|
||||
The rest moved in early July — `issue-core` carries both endpoints
|
||||
(`Makefile:68` gitea, `Makefile:69` forgejo, publish targets at `240` and `250`),
|
||||
and `vergabe-teilnahme/pyproject.toml` already points at
|
||||
`forgejo.coulomb.social/api/packages/coulomb/pypi/simple/`. So the destination
|
||||
exists and is in use; this repo was missed.
|
||||
kaizen-agentic's release workflow moved to Forgejo in early July, but the
|
||||
Makefile, consumer documentation, issue links, templates, and capability
|
||||
metadata did not move with it. This left a split-brain distribution story even
|
||||
though the destination already existed and was in use.
|
||||
|
||||
### What breaks, and why it is worse than a broken link
|
||||
|
||||
|
|
@ -76,8 +75,9 @@ together — a half-migrated doc set is how the next repo gets missed.
|
|||
|
||||
```task
|
||||
id: KAIZEN-WP-0010-T01
|
||||
status: todo
|
||||
status: done
|
||||
priority: high
|
||||
state_hub_task_id: "c00cbfde-7cfa-46d3-9e81-73d5c504a78f"
|
||||
```
|
||||
|
||||
**Establish whether kaizen-agentic packages already exist on forgejo.** Check
|
||||
|
|
@ -88,14 +88,19 @@ Record what is there against what gitea holds. If forgejo already has current
|
|||
versions, T02 becomes a no-op and this finishes much faster than feared — worth
|
||||
five minutes before assuming a full republication.
|
||||
|
||||
Credentials: this needs a forgejo package token, not a gitea one. Route through
|
||||
`warden plan "forgejo package publish token"` rather than reusing
|
||||
`GITEA_PACKAGE_TOKEN`, and never paste a token into the Makefile or a doc.
|
||||
**Result (2026-08-20):** Forgejo anonymously serves the current `1.4.0` wheel
|
||||
and sdist. Gitea serves `1.1.0`, `1.2.0`, and `1.4.0`. The repository version
|
||||
and latest tag are both `1.4.0`.
|
||||
|
||||
The simple package index is anonymously readable. If a write or authenticated
|
||||
API inventory is ever needed, route the Forgejo credential through `warden`
|
||||
and never paste a token into the Makefile or documentation.
|
||||
|
||||
```task
|
||||
id: KAIZEN-WP-0010-T02
|
||||
status: todo
|
||||
status: done
|
||||
priority: high
|
||||
state_hub_task_id: "3a65ae76-08fe-4535-aebf-c1bdec0860d9"
|
||||
```
|
||||
|
||||
**Publish current versions to the forgejo PyPI index.** Only the versions that
|
||||
|
|
@ -106,10 +111,15 @@ actually pins an old version.
|
|||
`issue-core/Makefile:250` is a working example of the forgejo `twine upload`
|
||||
target and is the shortest path to a correct invocation.
|
||||
|
||||
**Result (2026-08-20):** No-op. The current `1.4.0` release was already on
|
||||
Forgejo, published by `.forgejo/workflows/publish-python-package.yml`; no
|
||||
credential request or duplicate upload was necessary.
|
||||
|
||||
```task
|
||||
id: KAIZEN-WP-0010-T03
|
||||
status: todo
|
||||
status: done
|
||||
priority: high
|
||||
state_hub_task_id: "872a5464-a985-473d-a65f-099a30b4d1d0"
|
||||
```
|
||||
|
||||
**Repoint the Makefile and all six docs in one change.** Add
|
||||
|
|
@ -126,10 +136,18 @@ Also update `GITEA_PACKAGE_USER` / `GITEA_PACKAGE_TOKEN` variable *names* if you
|
|||
keep the credential envelope — a variable called `GITEA_*` pointing at forgejo is
|
||||
the kind of thing that survives for years and confuses everyone who reads it.
|
||||
|
||||
**Result (2026-08-20):** Removed the Gitea Make variables and target outright;
|
||||
`publish-forgejo` and `FORGEJO_PYPI_*` are the only release path. Consumer
|
||||
instructions now use the anonymously readable Forgejo index without embedding
|
||||
unnecessary credentials. Updated the six named documents plus operational
|
||||
references in contributing/scope/capability metadata, CLI feedback URLs, issue
|
||||
templates, project metadata, and packaged agent guidance.
|
||||
|
||||
```task
|
||||
id: KAIZEN-WP-0010-T04
|
||||
status: todo
|
||||
status: done
|
||||
priority: high
|
||||
state_hub_task_id: "f4e40f59-ca22-4dd5-b043-7d69c8cf0be5"
|
||||
```
|
||||
|
||||
**Verify a clean install from forgejo on a machine with no cache.** A `pip
|
||||
|
|
@ -140,10 +158,16 @@ still wrong regardless of what the registry holds.
|
|||
|
||||
This is the task that actually closes the risk. T01–T03 are preparation.
|
||||
|
||||
**Result (2026-08-20):** A new temporary virtual environment installed
|
||||
`kaizen-agentic==1.4.0` with `--no-cache-dir` and the documented anonymous
|
||||
Forgejo extra index. Pip downloaded the wheel from Forgejo; both the CLI and
|
||||
Python package reported `1.4.0`.
|
||||
|
||||
```task
|
||||
id: KAIZEN-WP-0010-T05
|
||||
status: todo
|
||||
status: done
|
||||
priority: medium
|
||||
state_hub_task_id: "c9f9c64f-27d4-41de-a1e8-a01734ce7964"
|
||||
```
|
||||
|
||||
**Close out.** Remove any remaining gitea references from operational files
|
||||
|
|
@ -154,6 +178,10 @@ tidy a grep loses information.
|
|||
Tell `prj-state-hub-retirement` when T04 passes; this is tracked there as
|
||||
`SHR-WP-0002-T07` and is one of two items gating CoulombCore's retirement.
|
||||
|
||||
**Result (2026-08-20):** No CoulombCore/Gitea host, package variable, publish
|
||||
target, workflow path, or issue-template path remains in operational files.
|
||||
Historical workplans and changelog entries were deliberately preserved.
|
||||
|
||||
## Notes
|
||||
|
||||
- Drafted by `prj-state-hub-retirement` on 2026-08-20 from the estate-wide sweep
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue