3.8 KiB
id, type, title, domain, repo, status, owner, topic_slug, created, updated, state_hub_workstream_id
| id | type | title | domain | repo | status | owner | topic_slug | created | updated | state_hub_workstream_id |
|---|---|---|---|---|---|---|---|---|---|---|
| PMEM-WP-0008 | workplan | Profile-Driven Runtime Configuration | markitect | phase-memory | finished | codex | phase-memory | 2026-05-18 | 2026-05-18 | c41f1d67-c4da-4372-b943-b9ea32d9ff4c |
PMEM-WP-0008: Profile-Driven Runtime Configuration
Goal
Turn Markitect-compatible memory profile metadata into concrete local runtime configuration, then resolve that configuration into adapter instances without silently pretending external adapters exist.
This advances the scorecard rows for profile contract ingress, profile execution planning, service readiness, and developer experience.
Current Evidence
PMEM-WP-0007 added RuntimeConfig, local service contracts, health reports,
and conformance helpers. The remaining gap was that runtime_from_config
returned a default in-memory runtime regardless of config content, so profiles
could not drive local file-backed runtime construction.
Non-Goals
- Build live Markitect, Kontextual, telemetry, or external policy adapters.
- Add framework-specific HTTP service bindings.
- Change runtime envelope schemas.
Implementation Update - 2026-05-18
Implemented the first profile-driven runtime configuration slice:
- Added
RuntimeConfig.from_profile(...)for Markitect-compatible profile mapping andProfileIntentinputs. - Added adapter mode normalization for the local aliases already used in
fixtures, including
local-graph-store,local-event-log, andmarkitect-context-package. - Added
RuntimeAdapterBundleandresolve_runtime_adapters(...). - Updated
runtime_from_config(...)andLocalServiceRunnerto use adapter resolution. - Wired local file-backed graph stores, JSONL event logs, JSONL audit sinks, in-memory semantic indexes, and in-memory runtime registries.
- Added diagnostics that block unresolved external adapters instead of falling back silently.
- Added regression tests and service readiness docs.
T01 - Derive runtime config from profiles
id: PMEM-WP-0008-T01
status: done
priority: high
state_hub_task_id: "ee84e24c-0014-418d-9b10-8c65dfea9a89"
Map profile stores, policy, activation, observability, and runtime metadata
into RuntimeConfig.
T02 - Normalize local adapter aliases
id: PMEM-WP-0008-T02
status: done
priority: medium
state_hub_task_id: "a90aecac-9d88-44b7-a960-9878db1f8ee8"
Support fixture-compatible aliases such as local-graph-store,
local-event-log, and markitect-context-package.
T03 - Resolve config to local adapters
id: PMEM-WP-0008-T03
status: done
priority: high
state_hub_task_id: "a13d2b1a-af39-4ec8-9064-bce78736c79b"
Materialize supported local adapter modes into concrete adapter instances and return a reusable adapter bundle.
T04 - Block unresolved external adapters
id: PMEM-WP-0008-T04
status: done
priority: high
state_hub_task_id: "58970721-2cca-4735-9997-33ed5fe808b0"
Emit diagnostics and prevent runtime construction when a profile or config declares an external adapter that the caller did not provide.
T05 - Add regression tests and docs
id: PMEM-WP-0008-T05
status: done
priority: medium
state_hub_task_id: "b7298161-e096-4009-92da-02b92558fadf"
Cover file-backed profile-driven resolution, missing external adapter diagnostics, and document the supported first-slice adapter modes.
Acceptance Criteria
- A profile can configure a file-backed local runtime.
- Adapter resolution is deterministic and inspectable.
- External adapter modes cannot silently degrade to local allow-all behavior.
- Tests cover success and failure paths.
Closure Review - 2026-05-18
Closed after adding profile-derived runtime config, adapter bundles, local resolver tests, and service readiness documentation.