generated from coulomb/repo-seed
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:
92
Makefile
92
Makefile
@@ -1,14 +1,14 @@
|
||||
# Issue Facade Capability Makefile
|
||||
# Issue Core Capability Makefile
|
||||
# Universal CLI for issue tracking across multiple backends
|
||||
|
||||
# Capability metadata
|
||||
CAPABILITY_NAME := issue-facade
|
||||
CAPABILITY_NAME := issue-core
|
||||
CAPABILITY_DESCRIPTION := Universal CLI for issue tracking across multiple backends
|
||||
|
||||
# Default target
|
||||
.PHONY: help
|
||||
help: ## Show issue facade capability help
|
||||
@echo "🎯 Issue Facade - Universal Issue Tracking CLI"
|
||||
help: ## Show issue core capability help
|
||||
@echo "🎯 Issue Core - Universal Issue Tracking CLI"
|
||||
@echo "==============================================="
|
||||
@echo ""
|
||||
@echo "Core Issue Operations:"
|
||||
@@ -30,7 +30,7 @@ help: ## Show issue facade capability help
|
||||
@echo " issue-sync-push Push local issues to remote"
|
||||
@echo ""
|
||||
@echo "Development & Setup (local):"
|
||||
@echo " install Install issue facade for local development"
|
||||
@echo " install Install issue core for local development"
|
||||
@echo " install-dev Install with development dependencies"
|
||||
@echo " test Run all tests"
|
||||
@echo " test-unit Run unit tests only"
|
||||
@@ -39,23 +39,23 @@ help: ## Show issue facade capability help
|
||||
@echo " test-verbose Run tests with verbose output"
|
||||
@echo ""
|
||||
@echo "Feedback & Continuous Improvement:"
|
||||
@echo " feedback MSG=\"...\" Submit feedback about issue-facade"
|
||||
@echo " feedback MSG=\"...\" Submit feedback about issue-core"
|
||||
@echo " feedback-list List pending feedback"
|
||||
@echo " feedback-stats Show feedback statistics"
|
||||
@echo " feedback-show FILE=\"...\" Show specific feedback"
|
||||
@echo " feedback-review FILE=\"...\" Review feedback (maintainers)"
|
||||
@echo ""
|
||||
@echo "Development & Setup (from parent):"
|
||||
@echo " issue-facade-install Install issue facade capability"
|
||||
@echo " issue-facade-install-dev Install with development dependencies"
|
||||
@echo " issue-facade-test Run issue facade tests"
|
||||
@echo " issue-facade-test-cov Run tests with coverage report"
|
||||
@echo " issue-facade-lint Run code quality checks"
|
||||
@echo " issue-facade-clean Clean build artifacts"
|
||||
@echo " issue-core-install Install issue core capability"
|
||||
@echo " issue-core-install-dev Install with development dependencies"
|
||||
@echo " issue-core-test Run issue core tests"
|
||||
@echo " issue-core-test-cov Run tests with coverage report"
|
||||
@echo " issue-core-lint Run code quality checks"
|
||||
@echo " issue-core-clean Clean build artifacts"
|
||||
@echo ""
|
||||
@echo "CLI Functionality:"
|
||||
@echo " issue-facade-help Show CLI help documentation"
|
||||
@echo " issue-facade-demo Demonstrate facade functionality"
|
||||
@echo " issue-core-help Show CLI help documentation"
|
||||
@echo " issue-core-demo Demonstrate facade functionality"
|
||||
|
||||
# Check if issue command is available
|
||||
ISSUE_CLI := $(shell command -v issue 2> /dev/null)
|
||||
@@ -65,7 +65,7 @@ ISSUE_CLI := $(shell command -v issue 2> /dev/null)
|
||||
issue-list: ## List all issues from configured backend
|
||||
ifndef ISSUE_CLI
|
||||
@echo "❌ Issue facade not installed"
|
||||
@echo " Install with: make issue-facade-install"
|
||||
@echo " Install with: make issue-core-install"
|
||||
@exit 1
|
||||
endif
|
||||
issue list
|
||||
@@ -182,7 +182,7 @@ integrate: ## Integrate capability into main project (interactive)
|
||||
@./.capability/integrate.sh
|
||||
|
||||
.PHONY: install
|
||||
install: ## Install issue facade (local development)
|
||||
install: ## Install issue core (local development)
|
||||
pip install -e .
|
||||
|
||||
.PHONY: install-dev
|
||||
@@ -203,7 +203,7 @@ test-integration: ## Run integration tests only (local development)
|
||||
|
||||
.PHONY: test-cov
|
||||
test-cov: ## Run tests with coverage report (local development)
|
||||
pytest tests/ --cov=issue_tracker --cov-report=html --cov-report=term
|
||||
pytest tests/ --cov=issue_core --cov-report=html --cov-report=term
|
||||
|
||||
.PHONY: test-verbose
|
||||
test-verbose: ## Run tests with verbose output (local development)
|
||||
@@ -234,50 +234,50 @@ feedback-review: ## Review feedback (Usage: make feedback-review FILE=20251217-x
|
||||
feedback-review-issue: ## Review feedback and create issue (Usage: make feedback-review-issue FILE=20251217-xxx.md)
|
||||
@./.capability/feedback review "$(FILE)" --create-issue
|
||||
|
||||
.PHONY: issue-facade-install
|
||||
issue-facade-install: ## Install issue facade capability
|
||||
pip install -e capabilities/issue-facade/
|
||||
.PHONY: issue-core-install
|
||||
issue-core-install: ## Install issue core capability
|
||||
pip install -e capabilities/issue-core/
|
||||
|
||||
.PHONY: issue-facade-install-dev
|
||||
issue-facade-install-dev: ## Install issue facade capability with development dependencies
|
||||
pip install -e "capabilities/issue-facade/[dev]"
|
||||
.PHONY: issue-core-install-dev
|
||||
issue-core-install-dev: ## Install issue core capability with development dependencies
|
||||
pip install -e "capabilities/issue-core/[dev]"
|
||||
|
||||
.PHONY: issue-facade-test
|
||||
issue-facade-test: ## Run issue facade tests
|
||||
cd capabilities/issue-facade && pytest tests/
|
||||
.PHONY: issue-core-test
|
||||
issue-core-test: ## Run issue core tests
|
||||
cd capabilities/issue-core && pytest tests/
|
||||
|
||||
.PHONY: issue-facade-test-cov
|
||||
issue-facade-test-cov: ## Run tests with coverage report
|
||||
cd capabilities/issue-facade && pytest tests/ --cov=issue_tracker --cov-report=html --cov-report=term
|
||||
.PHONY: issue-core-test-cov
|
||||
issue-core-test-cov: ## Run tests with coverage report
|
||||
cd capabilities/issue-core && pytest tests/ --cov=issue_core --cov-report=html --cov-report=term
|
||||
|
||||
.PHONY: issue-facade-lint
|
||||
issue-facade-lint: ## Run code quality checks
|
||||
@echo "🔍 Running code quality checks for issue-facade..."
|
||||
cd capabilities/issue-facade && python -m py_compile cli/*.py core/*.py backends/*/*.py 2>/dev/null || echo "⚠️ Some files may not compile due to missing dependencies"
|
||||
.PHONY: issue-core-lint
|
||||
issue-core-lint: ## Run code quality checks
|
||||
@echo "🔍 Running code quality checks for issue-core..."
|
||||
cd capabilities/issue-core && python -m py_compile cli/*.py core/*.py backends/*/*.py 2>/dev/null || echo "⚠️ Some files may not compile due to missing dependencies"
|
||||
@echo "✅ Code quality checks completed"
|
||||
|
||||
.PHONY: issue-facade-clean
|
||||
issue-facade-clean: ## Clean build artifacts
|
||||
cd capabilities/issue-facade && rm -rf build/ dist/ *.egg-info/ __pycache__/ .pytest_cache/ htmlcov/ .coverage
|
||||
find capabilities/issue-facade -name "*.pyc" -delete
|
||||
find capabilities/issue-facade -name "__pycache__" -type d -exec rm -rf {} + 2>/dev/null || true
|
||||
.PHONY: issue-core-clean
|
||||
issue-core-clean: ## Clean build artifacts
|
||||
cd capabilities/issue-core && rm -rf build/ dist/ *.egg-info/ __pycache__/ .pytest_cache/ htmlcov/ .coverage
|
||||
find capabilities/issue-core -name "*.pyc" -delete
|
||||
find capabilities/issue-core -name "__pycache__" -type d -exec rm -rf {} + 2>/dev/null || true
|
||||
|
||||
# CLI Functionality
|
||||
.PHONY: issue-facade-help
|
||||
issue-facade-help: ## Show CLI help documentation
|
||||
.PHONY: issue-core-help
|
||||
issue-core-help: ## Show CLI help documentation
|
||||
ifndef ISSUE_CLI
|
||||
@echo "❌ Issue facade not installed"
|
||||
@echo " Install with: make issue-facade-install"
|
||||
@echo " Install with: make issue-core-install"
|
||||
@exit 1
|
||||
endif
|
||||
issue --help
|
||||
|
||||
.PHONY: issue-facade-demo
|
||||
issue-facade-demo: ## Demonstrate facade functionality
|
||||
@echo "🎬 Issue Facade Demonstration"
|
||||
.PHONY: issue-core-demo
|
||||
issue-core-demo: ## Demonstrate facade functionality
|
||||
@echo "🎬 Issue Core Demonstration"
|
||||
@echo "============================="
|
||||
@echo ""
|
||||
@echo "The Issue Facade provides a unified CLI for issue tracking across:"
|
||||
@echo "The Issue Core provides a unified CLI for issue tracking across:"
|
||||
@echo " • GitHub Issues"
|
||||
@echo " • GitLab Issues"
|
||||
@echo " • Gitea Issues"
|
||||
@@ -290,7 +290,7 @@ issue-facade-demo: ## Demonstrate facade functionality
|
||||
@echo ""
|
||||
ifndef ISSUE_CLI
|
||||
@echo "To try it out:"
|
||||
@echo " 1. make issue-facade-install"
|
||||
@echo " 1. make issue-core-install"
|
||||
@echo " 2. make issue-backend-detect"
|
||||
@echo " 3. make issue-list"
|
||||
else
|
||||
|
||||
Reference in New Issue
Block a user