feat: rename to issue-core and add task ingestion endpoint

Renames the package, distribution, CLI alias, Makefile targets, and
working directory from issue-facade to issue-core, signalling its
role as the authoritative task lifecycle manager for the Coulomb org
(peer to activity-core, rules-core, project-core).

Adds POST /issues/ ingestion endpoint for activity-core's IssueSink,
under a new optional [api] extra. The endpoint is served by `issue
serve`, authenticates via the ISSUE_CORE_API_KEY env var (Bearer or
X-API-Key header), and routes the TaskSpec payload to the configured
default backend with full traceability metadata embedded in
sync_metadata.

- T01: Python package issue_tracker -> issue_core, dir rename
- T02: registered in state hub under custodian domain
- T03: INTENT.md (what it is, what it isn't, how it fits)
- T04: SCOPE.md (in/out-of-scope, integration boundaries)
- T05: POST /issues/ via FastAPI + Uvicorn, 9 unit tests
- T06: docs/nats-task-ingestion.md design stub

Closes ISSC-WP-0001.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
2026-05-17 05:16:27 +02:00
parent 99ea1fbc45
commit b605d970e3
38 changed files with 1324 additions and 361 deletions

View File

@@ -1,8 +1,8 @@
# Issue Facade Capability Manifest
# Issue Core Capability Manifest
# This file describes the capability to coding agents and integration systems
metadata:
name: issue-facade
name: issue-core
version: 1.0.0
type: coordination-tool
description: >
@@ -44,7 +44,7 @@ integration:
methods:
python_api:
available: true
import: "from issue_tracker.backends.gitea import GiteaBackend"
import: "from issue_core.backends.gitea import GiteaBackend"
docs: "AGENT_INTEGRATION.md"
cli:
@@ -59,7 +59,7 @@ integration:
installation:
method: pip
command: "pip install -e capabilities/issue-facade/"
command: "pip install -e capabilities/issue-core/"
verify: "issue --version"
configuration:
@@ -119,8 +119,8 @@ credentials:
security:
- "Tokens never in code or logs"
- "Config stored in ~/.config/issue-facade/"
- "Per-repo config in .issue-facade/ (gitignored)"
- "Config stored in ~/.config/issue-core/"
- "Per-repo config in .issue-core/ (gitignored)"
best_practices:
- "Use read-only tokens for monitoring agents"
@@ -131,8 +131,8 @@ credentials:
agent_guidance:
quick_start: |
# For Python agents:
from issue_tracker.backends.gitea import GiteaBackend
from issue_tracker.core.interfaces import IssueFilter
from issue_core.backends.gitea import GiteaBackend
from issue_core.core.interfaces import IssueFilter
backend = GiteaBackend()
backend.connect(config)
@@ -177,7 +177,7 @@ feedback:
archived: "Resolved or outdated feedback"
for_users: |
Submit feedback about issue-facade:
Submit feedback about issue-core:
./.capability/feedback submit "Feedback text"
./.capability/feedback submit detailed-feedback.md
@@ -261,7 +261,7 @@ support:
solution: "Check GITEA_API_TOKEN is set and valid"
- problem: "Command not found: issue"
solution: "Run: pip install -e capabilities/issue-facade/"
solution: "Run: pip install -e capabilities/issue-core/"
# Integration priority score (higher = more important for agent to use)
priority: