From d4a4560a8d1b1cd64e68df00e6232500a029f0b9 Mon Sep 17 00:00:00 2001 From: tegwick Date: Thu, 20 Aug 2026 09:43:49 +0200 Subject: [PATCH] Migrate kaizen distribution to Forgejo --- .custodian-brief.md | 6 +- .../ISSUE_TEMPLATE/bug_report.md | 2 +- .forgejo/ISSUE_TEMPLATE/config.yaml | 8 ++ .../ISSUE_TEMPLATE/feature_request.md | 2 +- .../ISSUE_TEMPLATE/feedback.md | 2 +- .gitea/ISSUE_TEMPLATE/config.yaml | 8 -- CONTRIBUTING.md | 8 +- Makefile | 34 ++--- README.md | 15 +- SCOPE.md | 12 +- WORK-RECORDS.md | 129 ++++++++++++++++++ agents/agent-project-assistant.md | 14 +- agents/agent-releaseManager.md | 8 +- agents/agent-tdd-workflow.md | 4 +- agents/agent-test-maintenance.md | 4 +- docs/AGENT_DISTRIBUTION.md | 7 +- docs/CLI_CHEAT_SHEET.md | 7 +- docs/FEEDBACK.md | 8 +- docs/GETTING_STARTED.md | 29 ++-- docs/HELLO_WORLD_TUTORIAL.md | 13 +- docs/INTEGRATION_PATTERNS.md | 2 +- docs/PACKAGE_RELEASE.md | 65 ++++----- docs/TELEMETRY.md | 4 +- .../customer-engagement-playbook.md | 4 +- .../customer-engagement-repo-layout.md | 2 +- pyproject.toml | 6 +- .../capability.agents.kaizen-framework.md | 6 +- src/kaizen_agentic/cli.py | 10 +- .../data/agents/agent-project-assistant.md | 14 +- .../data/agents/agent-releaseManager.md | 8 +- .../data/agents/agent-tdd-workflow.md | 4 +- .../data/agents/agent-test-maintenance.md | 4 +- tests/test_feedback_cli.py | 2 +- ...-agentic-WP-0010-forgejo-pypi-migration.md | 68 ++++++--- 34 files changed, 324 insertions(+), 195 deletions(-) rename {.gitea => .forgejo}/ISSUE_TEMPLATE/bug_report.md (95%) create mode 100644 .forgejo/ISSUE_TEMPLATE/config.yaml rename {.gitea => .forgejo}/ISSUE_TEMPLATE/feature_request.md (95%) rename {.gitea => .forgejo}/ISSUE_TEMPLATE/feedback.md (86%) delete mode 100644 .gitea/ISSUE_TEMPLATE/config.yaml create mode 100644 WORK-RECORDS.md diff --git a/.custodian-brief.md b/.custodian-brief.md index 0d7f846..6f230eb 100644 --- a/.custodian-brief.md +++ b/.custodian-brief.md @@ -1,8 +1,8 @@ # 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. diff --git a/.gitea/ISSUE_TEMPLATE/bug_report.md b/.forgejo/ISSUE_TEMPLATE/bug_report.md similarity index 95% rename from .gitea/ISSUE_TEMPLATE/bug_report.md rename to .forgejo/ISSUE_TEMPLATE/bug_report.md index c9da631..f104c62 100644 --- a/.gitea/ISSUE_TEMPLATE/bug_report.md +++ b/.forgejo/ISSUE_TEMPLATE/bug_report.md @@ -32,4 +32,4 @@ labels: bug (paste relevant output) ``` -## Additional context \ No newline at end of file +## Additional context diff --git a/.forgejo/ISSUE_TEMPLATE/config.yaml b/.forgejo/ISSUE_TEMPLATE/config.yaml new file mode 100644 index 0000000..2856ecd --- /dev/null +++ b/.forgejo/ISSUE_TEMPLATE/config.yaml @@ -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 diff --git a/.gitea/ISSUE_TEMPLATE/feature_request.md b/.forgejo/ISSUE_TEMPLATE/feature_request.md similarity index 95% rename from .gitea/ISSUE_TEMPLATE/feature_request.md rename to .forgejo/ISSUE_TEMPLATE/feature_request.md index 1ded630..c8289a1 100644 --- a/.gitea/ISSUE_TEMPLATE/feature_request.md +++ b/.forgejo/ISSUE_TEMPLATE/feature_request.md @@ -20,4 +20,4 @@ labels: enhancement - [ ] Documentation / wiki - [ ] Ecosystem integration (activity-core, artifact-store, agentic-resources) -## Additional context \ No newline at end of file +## Additional context diff --git a/.gitea/ISSUE_TEMPLATE/feedback.md b/.forgejo/ISSUE_TEMPLATE/feedback.md similarity index 86% rename from .gitea/ISSUE_TEMPLATE/feedback.md rename to .forgejo/ISSUE_TEMPLATE/feedback.md index fb6c212..020d88c 100644 --- a/.gitea/ISSUE_TEMPLATE/feedback.md +++ b/.forgejo/ISSUE_TEMPLATE/feedback.md @@ -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. \ No newline at end of file +fleet capture — helps us prioritize integration improvements. diff --git a/.gitea/ISSUE_TEMPLATE/config.yaml b/.gitea/ISSUE_TEMPLATE/config.yaml deleted file mode 100644 index d0db62a..0000000 --- a/.gitea/ISSUE_TEMPLATE/config.yaml +++ /dev/null @@ -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 \ No newline at end of file diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index c0d801f..8c06200 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -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 diff --git a/Makefile b/Makefile index 4ce131e..ab3ae1f 100644 --- a/Makefile +++ b/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=)) + $(error TWINE_USERNAME is required (e.g. export TWINE_USERNAME=)) 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 "; \ + 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"; \ diff --git a/README.md b/README.md index 886f31b..6e6ed85 100644 --- a/README.md +++ b/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= -export GITEA_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. diff --git a/SCOPE.md b/SCOPE.md index 481c8e4..8b6b107 100644 --- a/SCOPE.md +++ b/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 --- diff --git a/WORK-RECORDS.md b/WORK-RECORDS.md new file mode 100644 index 0000000..6902b55 --- /dev/null +++ b/WORK-RECORDS.md @@ -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 | diff --git a/agents/agent-project-assistant.md b/agents/agent-project-assistant.md index d7f0309..0dcb036 100644 --- a/agents/agent-project-assistant.md +++ b/agents/agent-project-assistant.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 diff --git a/agents/agent-releaseManager.md b/agents/agent-releaseManager.md index f62c8e8..da38a7d 100644 --- a/agents/agent-releaseManager.md +++ b/agents/agent-releaseManager.md @@ -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 diff --git a/agents/agent-tdd-workflow.md b/agents/agent-tdd-workflow.md index 5d89b04..0d4ce03 100644 --- a/agents/agent-tdd-workflow.md +++ b/agents/agent-tdd-workflow.md @@ -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 diff --git a/agents/agent-test-maintenance.md b/agents/agent-test-maintenance.md index 2540634..16549f5 100644 --- a/agents/agent-test-maintenance.md +++ b/agents/agent-test-maintenance.md @@ -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 ``` diff --git a/docs/AGENT_DISTRIBUTION.md b/docs/AGENT_DISTRIBUTION.md index e558081..0029329 100644 --- a/docs/AGENT_DISTRIBUTION.md +++ b/docs/AGENT_DISTRIBUTION.md @@ -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= -export GITEA_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 diff --git a/docs/CLI_CHEAT_SHEET.md b/docs/CLI_CHEAT_SHEET.md index b413e11..b6de0a9 100644 --- a/docs/CLI_CHEAT_SHEET.md +++ b/docs/CLI_CHEAT_SHEET.md @@ -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= -export GITEA_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 diff --git a/docs/FEEDBACK.md b/docs/FEEDBACK.md index 9d80ec9..61635a7 100644 --- a/docs/FEEDBACK.md +++ b/docs/FEEDBACK.md @@ -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. \ No newline at end of file +`.kaizen/` memory contents unless you intentionally share sanitized examples. diff --git a/docs/GETTING_STARTED.md b/docs/GETTING_STARTED.md index d4c5bd3..2efcf2c 100644 --- a/docs/GETTING_STARTED.md +++ b/docs/GETTING_STARTED.md @@ -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= -export GITEA_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= -export GITEA_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"** diff --git a/docs/HELLO_WORLD_TUTORIAL.md b/docs/HELLO_WORLD_TUTORIAL.md index 8e642bb..12f3f2f 100644 --- a/docs/HELLO_WORLD_TUTORIAL.md +++ b/docs/HELLO_WORLD_TUTORIAL.md @@ -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= -export GITEA_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= -export GITEA_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"** diff --git a/docs/INTEGRATION_PATTERNS.md b/docs/INTEGRATION_PATTERNS.md index 9fa8a8c..2dff65f 100644 --- a/docs/INTEGRATION_PATTERNS.md +++ b/docs/INTEGRATION_PATTERNS.md @@ -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:** diff --git a/docs/PACKAGE_RELEASE.md b/docs/PACKAGE_RELEASE.md index 8d43a67..ca1967f 100644 --- a/docs/PACKAGE_RELEASE.md +++ b/docs/PACKAGE_RELEASE.md @@ -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= -export GITEA_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= \ +TWINE_USERNAME= \ TWINE_PASSWORD= \ -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[]` registered in State Hub, with a valid `.kaizen/schedule.yml` (`kaizen-agentic schedule validate`). diff --git a/docs/TELEMETRY.md b/docs/TELEMETRY.md index 40406f6..dc76903 100644 --- a/docs/TELEMETRY.md +++ b/docs/TELEMETRY.md @@ -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. diff --git a/docs/integrations/customer-engagement-playbook.md b/docs/integrations/customer-engagement-playbook.md index 2a6af41..f3892e6 100644 --- a/docs/integrations/customer-engagement-playbook.md +++ b/docs/integrations/customer-engagement-playbook.md @@ -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 --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) diff --git a/docs/integrations/customer-engagement-repo-layout.md b/docs/integrations/customer-engagement-repo-layout.md index a0df13c..a9dfc60 100644 --- a/docs/integrations/customer-engagement-repo-layout.md +++ b/docs/integrations/customer-engagement-repo-layout.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. diff --git a/pyproject.toml b/pyproject.toml index c1e1777..b04502c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -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"] diff --git a/registry/capabilities/capability.agents.kaizen-framework.md b/registry/capabilities/capability.agents.kaizen-framework.md index 9a88d7a..a32b5f0 100644 --- a/registry/capabilities/capability.agents.kaizen-framework.md +++ b/registry/capabilities/capability.agents.kaizen-framework.md @@ -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 diff --git a/src/kaizen_agentic/cli.py b/src/kaizen_agentic/cli.py index 8c54f06..eb94f03 100644 --- a/src/kaizen_agentic/cli.py +++ b/src/kaizen_agentic/cli.py @@ -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" ), } diff --git a/src/kaizen_agentic/data/agents/agent-project-assistant.md b/src/kaizen_agentic/data/agents/agent-project-assistant.md index d7f0309..0dcb036 100644 --- a/src/kaizen_agentic/data/agents/agent-project-assistant.md +++ b/src/kaizen_agentic/data/agents/agent-project-assistant.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 diff --git a/src/kaizen_agentic/data/agents/agent-releaseManager.md b/src/kaizen_agentic/data/agents/agent-releaseManager.md index f62c8e8..da38a7d 100644 --- a/src/kaizen_agentic/data/agents/agent-releaseManager.md +++ b/src/kaizen_agentic/data/agents/agent-releaseManager.md @@ -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 diff --git a/src/kaizen_agentic/data/agents/agent-tdd-workflow.md b/src/kaizen_agentic/data/agents/agent-tdd-workflow.md index 5d89b04..0d4ce03 100644 --- a/src/kaizen_agentic/data/agents/agent-tdd-workflow.md +++ b/src/kaizen_agentic/data/agents/agent-tdd-workflow.md @@ -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 diff --git a/src/kaizen_agentic/data/agents/agent-test-maintenance.md b/src/kaizen_agentic/data/agents/agent-test-maintenance.md index 2540634..16549f5 100644 --- a/src/kaizen_agentic/data/agents/agent-test-maintenance.md +++ b/src/kaizen_agentic/data/agents/agent-test-maintenance.md @@ -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 ``` diff --git a/tests/test_feedback_cli.py b/tests/test_feedback_cli.py index 55ac31b..be540e4 100644 --- a/tests/test_feedback_cli.py +++ b/tests/test_feedback_cli.py @@ -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() diff --git a/workplans/kaizen-agentic-WP-0010-forgejo-pypi-migration.md b/workplans/kaizen-agentic-WP-0010-forgejo-pypi-migration.md index 8445c85..678cad7 100644 --- a/workplans/kaizen-agentic-WP-0010-forgejo-pypi-migration.md +++ b/workplans/kaizen-agentic-WP-0010-forgejo-pypi-migration.md @@ -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