Files
info-tech-canon/workplans/ITC-WP-0002-service-surface-cli-json-api.md

2.9 KiB

id, type, title, domain, repo, status, priority, created, updated, depends_on_workplans, state_hub_workstream_id
id type title domain repo status priority created updated depends_on_workplans state_hub_workstream_id
ITC-WP-0002 workplan Service Surface Baseline CLI JSON API canon info-tech-canon finished high 2026-05-23 2026-05-23
ITC-WP-0001
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

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

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

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

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.