generated from coulomb/repo-seed
Adds first-class tracking for API and interface mutations across the
agent ecosystem. Breaking changes are documented, affected repos are
notified via inbox, and agents discover pending changes at session
start via the dispatch endpoint.
- Migration q4l5m6n7o8p9: interface_changes table
- Model/schema: InterfaceChange with draft→published→resolved lifecycle
- Router: POST/GET/PATCH /interface-changes/, /publish, /resolve actions
(auto-notify affected repo agents on publish; progress event on origin)
- Dispatch: GET /repos/{slug}/dispatch now returns pending_interface_changes
- MCP tools: register_interface_change, list_interface_changes,
publish_interface_change, resolve_interface_change
- Dashboard: /interface-changes page with type badges, planned calendar,
published cards, and draft table
- EP-CUST-ICR-001 registered: webhook subscriptions (deliberately deferred)
First record: trailing-slash normalisation (2026-04-26), published,
affecting repo-registry — visible in repo-registry dispatch immediately.
223 tests passing.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
50 lines
1.9 KiB
Python
50 lines
1.9 KiB
Python
from api.models.base import Base
|
|
from api.models.domain import Domain
|
|
from api.models.domain_goal import DomainGoal, DomainGoalStatus
|
|
from api.models.topic import Topic, TopicStatus
|
|
from api.models.managed_repo import ManagedRepo
|
|
from api.models.repo_goal import RepoGoal, RepoGoalStatus
|
|
from api.models.workstream import Workstream, WorkstreamStatus
|
|
from api.models.workstream_dependency import WorkstreamDependency
|
|
from api.models.task import Task, TaskStatus, TaskPriority
|
|
from api.models.decision import Decision, DecisionType, DecisionStatus
|
|
from api.models.progress_event import ProgressEvent
|
|
from api.models.extension_point import ExtensionPoint, EPStatus
|
|
from api.models.technical_debt import TechnicalDebt, TDStatus
|
|
from api.models.contribution import Contribution, ContributionType, ContributionStatus
|
|
from api.models.sbom_snapshot import SBOMSnapshot
|
|
from api.models.sbom_entry import SBOMEntry, Ecosystem
|
|
from api.models.agent_message import AgentMessage
|
|
from api.models.capability_catalog import CapabilityCatalog
|
|
from api.models.capability_request import CapabilityRequest
|
|
from api.models.tpsc import TPSCCatalog, TPSCSnapshot, TPSCEntry
|
|
from api.models.doi_cache import DOICache
|
|
from api.models.token_event import TokenEvent
|
|
from api.models.interface_change import InterfaceChange
|
|
|
|
__all__ = [
|
|
"Base",
|
|
"Domain",
|
|
"DomainGoal", "DomainGoalStatus",
|
|
"Topic", "TopicStatus",
|
|
"ManagedRepo",
|
|
"RepoGoal", "RepoGoalStatus",
|
|
"Workstream", "WorkstreamStatus",
|
|
"WorkstreamDependency",
|
|
"Task", "TaskStatus", "TaskPriority",
|
|
"Decision", "DecisionType", "DecisionStatus",
|
|
"ProgressEvent",
|
|
"ExtensionPoint", "EPStatus",
|
|
"TechnicalDebt", "TDStatus",
|
|
"Contribution", "ContributionType", "ContributionStatus",
|
|
"SBOMSnapshot",
|
|
"SBOMEntry", "Ecosystem",
|
|
"AgentMessage",
|
|
"CapabilityCatalog",
|
|
"CapabilityRequest",
|
|
"TPSCCatalog", "TPSCSnapshot", "TPSCEntry",
|
|
"DOICache",
|
|
"TokenEvent",
|
|
"InterfaceChange",
|
|
]
|