generated from coulomb/repo-seed
112 lines
2.9 KiB
Markdown
112 lines
2.9 KiB
Markdown
---
|
|
id: ITC-WP-0002
|
|
type: workplan
|
|
title: "Service Surface Baseline CLI JSON API"
|
|
domain: canon
|
|
repo: info-tech-canon
|
|
status: finished
|
|
priority: high
|
|
created: "2026-05-23"
|
|
updated: "2026-05-23"
|
|
depends_on_workplans:
|
|
- ITC-WP-0001
|
|
state_hub_workstream_id: "b467e4da-6ce4-4608-a446-319427954b32"
|
|
---
|
|
|
|
# ITC-WP-0002 - Service Surface Baseline CLI JSON API
|
|
|
|
## Goal
|
|
|
|
Create the first practical service surface for InfoTechCanon: a JSON-oriented
|
|
CLI, importable Python service layer, and minimal local API from the start.
|
|
|
|
## Intent
|
|
|
|
The service should use `infospace-bench` facilities instead of inventing a
|
|
parallel infospace runtime. The initial surface should be small, explicit, and
|
|
usable by downstream agents and tools.
|
|
|
|
## Tasks
|
|
|
|
### T01 - Package skeleton
|
|
|
|
```task
|
|
id: ITC-WP-0002-T01
|
|
status: done
|
|
priority: high
|
|
state_hub_task_id: "0d843b8f-0bba-4bd8-8879-5641d2b50848"
|
|
```
|
|
|
|
- Add a minimal Python package for InfoTechCanon service code.
|
|
- Add `pyproject.toml` with local dependency expectations for
|
|
`infospace-bench`.
|
|
- Keep runtime dependencies narrow.
|
|
|
|
### T02 - CLI commands
|
|
|
|
```task
|
|
id: ITC-WP-0002-T02
|
|
status: done
|
|
priority: high
|
|
state_hub_task_id: "030955d2-e6af-48d8-a617-943cf4f10628"
|
|
```
|
|
|
|
- Add commands that return JSON by default:
|
|
- inspect canon
|
|
- list artifacts
|
|
- list standards
|
|
- list models
|
|
- validate
|
|
- graph
|
|
- profile inspect
|
|
- Use structured errors.
|
|
|
|
### T03 - Python service layer
|
|
|
|
```task
|
|
id: ITC-WP-0002-T03
|
|
status: done
|
|
priority: high
|
|
state_hub_task_id: "a926fa1d-7dc0-4450-84c9-c0d49b3744ea"
|
|
```
|
|
|
|
- Wrap infospace loading, artifact listing, validation, metrics, and graph
|
|
export behind stable service functions.
|
|
- Keep domain-specific canon logic separate from generic infospace-bench logic.
|
|
|
|
### T04 - API baseline
|
|
|
|
```task
|
|
id: ITC-WP-0002-T04
|
|
status: done
|
|
priority: high
|
|
state_hub_task_id: "070ef996-cf45-47ed-b9d8-1e313c9b0e22"
|
|
```
|
|
|
|
- Add a minimal local API for read-only canon inspection.
|
|
- Endpoints should mirror CLI contracts where practical.
|
|
- Prefer JSON responses suitable for agents and tools.
|
|
- Defer authentication, remote deployment, and multi-tenant concerns.
|
|
|
|
## Non-Goals
|
|
|
|
- Do not build a large web application.
|
|
- Do not duplicate infospace-bench lifecycle implementation.
|
|
- Do not introduce semantic changes to canon documents in this workplan.
|
|
|
|
## Acceptance
|
|
|
|
- The repo exposes CLI, JSON, and API entry points.
|
|
- Commands can inspect the `infospace/` root.
|
|
- API and CLI outputs share the same service-layer contracts.
|
|
- Tests cover the first happy paths and structured failures.
|
|
|
|
## Implementation Notes
|
|
|
|
- Added the `info_tech_canon` Python package and `info-tech-canon` console
|
|
script definition.
|
|
- Added JSON-first CLI commands for inspection, artifact/model/standard lists,
|
|
validation, graph export, and profile inspection.
|
|
- Added a read-only local HTTP API mirroring the CLI contracts.
|
|
- Added service, CLI, and API tests for the baseline behavior.
|