generated from coulomb/repo-seed
Agentic memory profile
This commit is contained in:
@@ -32,10 +32,12 @@ Start with:
|
|||||||
- `docs/replacement-readiness-decision.md`
|
- `docs/replacement-readiness-decision.md`
|
||||||
- `docs/wealth-vsm-generation-pipeline.md`
|
- `docs/wealth-vsm-generation-pipeline.md`
|
||||||
- `docs/generic-source-generator.md`
|
- `docs/generic-source-generator.md`
|
||||||
|
- `docs/agentic-memory-profile-pilot.md`
|
||||||
- `docs/lefevre-epub3-validation.md`
|
- `docs/lefevre-epub3-validation.md`
|
||||||
- `infospaces/bootstrap-pilot/`
|
- `infospaces/bootstrap-pilot/`
|
||||||
- `infospaces/wealth-vsm-legacy-slice/`
|
- `infospaces/wealth-vsm-legacy-slice/`
|
||||||
- `infospaces/wealth-vsm-generation-pilot/`
|
- `infospaces/wealth-vsm-generation-pilot/`
|
||||||
|
- `infospaces/agentic-memory-profile-pilot/`
|
||||||
- `workplans/`
|
- `workplans/`
|
||||||
|
|
||||||
Current development command:
|
Current development command:
|
||||||
|
|||||||
97
docs/agentic-memory-profile-pilot.md
Normal file
97
docs/agentic-memory-profile-pilot.md
Normal file
@@ -0,0 +1,97 @@
|
|||||||
|
# Agentic Memory Profile Pilot
|
||||||
|
|
||||||
|
Date: 2026-05-15
|
||||||
|
Workplan: IB-WP-0017
|
||||||
|
|
||||||
|
## Purpose
|
||||||
|
|
||||||
|
This pilot validates agentic memory profile fixtures against concrete
|
||||||
|
infospace work. It does not add reusable memory runtime infrastructure to
|
||||||
|
`infospace-bench`.
|
||||||
|
|
||||||
|
## Pilot Selection
|
||||||
|
|
||||||
|
The selected corpus is `infospaces/wealth-vsm-legacy-slice`. It is bounded,
|
||||||
|
reviewable, and already contains a source, entities, relation, evaluation,
|
||||||
|
metrics, history, and an engine sync plan. That makes it a better pilot than a
|
||||||
|
new synthetic corpus because the memory package can be evaluated against a real
|
||||||
|
restart task: resume review of the Wealth/VSM entity and relation neighborhood.
|
||||||
|
|
||||||
|
## Memory Question Matrix
|
||||||
|
|
||||||
|
| Memory Question | Pilot Evidence | Acceptance Threshold |
|
||||||
|
| --- | --- | --- |
|
||||||
|
| Which reasoning decisions should become durable memory? | `decision.file-backed-pilot` and `constraint.no-durable-runtime` | A restart package explains ownership boundaries without rereading Workplan 17. |
|
||||||
|
| Which conversation or workflow events are useful later? | `trace.entity-review-restart` and `event.workflow-restart-trace` | Events explain why a package item exists and what task it supports. |
|
||||||
|
| Which knowledge graph neighborhoods improve review? | Wealth/VSM source and entity nodes | The package includes the active artifact neighborhood, not only planning notes. |
|
||||||
|
| Which context package shapes help agents? | `restart-context-selection.yaml` | Eight or fewer items, source spans preserved, no live LLM required. |
|
||||||
|
| Which profile parameters are too abstract or misplaced? | `context-package-evaluation.yaml` | Contract feedback is routed to Markitect or the engine, not hidden in this repo. |
|
||||||
|
|
||||||
|
## Fixture Contracts
|
||||||
|
|
||||||
|
The checked-in pilot uses Markitect contract versions:
|
||||||
|
|
||||||
|
- `markitect.memory.profile.v1`
|
||||||
|
- `markitect.memory.graph.v1`
|
||||||
|
- `markitect.memory.selection.v1`
|
||||||
|
|
||||||
|
The default test suite validates the profile and graph through
|
||||||
|
`markitect_tool.memory.graph`, compiles the selection to a context package, and
|
||||||
|
checks the deterministic fields against
|
||||||
|
`restart-context-package.expected.yaml`.
|
||||||
|
|
||||||
|
## Context Package Evaluation
|
||||||
|
|
||||||
|
The restart package is considered useful when it:
|
||||||
|
|
||||||
|
- contains the boundary decision, no-runtime constraint, package plan, review
|
||||||
|
gate, and active Wealth/VSM artifact neighborhood
|
||||||
|
- preserves provenance for all selected nodes or synthetic Markitect event spans
|
||||||
|
- remains under the declared 1200-token package budget
|
||||||
|
- keeps runtime writes review-gated and fixture-only
|
||||||
|
|
||||||
|
The first pilot snapshot scores restart quality at `4.2/5.0` and provenance
|
||||||
|
coverage at `1.0`.
|
||||||
|
|
||||||
|
## Engine Integration Plan
|
||||||
|
|
||||||
|
File-backed in this pilot:
|
||||||
|
|
||||||
|
- selected corpus and infospace manifest
|
||||||
|
- Markitect memory profile, graph, and selection fixtures
|
||||||
|
- expected package shape and evaluation metrics
|
||||||
|
- workflow trace examples and review notes
|
||||||
|
|
||||||
|
Engine-backed later:
|
||||||
|
|
||||||
|
- durable memory node, edge, event, and audit storage
|
||||||
|
- permission-aware query and activation behavior
|
||||||
|
- retention, refresh, compaction, and policy decisions
|
||||||
|
- dry-run and apply plans for durable memory writes
|
||||||
|
|
||||||
|
The first integration should mirror this fixture into `kontextual-engine` as an
|
||||||
|
imported Markitect graph. Dry run should report creates, updates, denied writes,
|
||||||
|
and policy reasons. Apply should require an explicit review gate and record an
|
||||||
|
engine audit event separately from Markitect contract events.
|
||||||
|
|
||||||
|
## Architecture Feedback
|
||||||
|
|
||||||
|
Markitect contract feedback:
|
||||||
|
|
||||||
|
- Add a timestamp-stable context package output mode for golden fixtures.
|
||||||
|
- Document when selected events should become package items versus metadata.
|
||||||
|
- Make package provenance for implied edges easy to inspect.
|
||||||
|
|
||||||
|
Kontextual engine feedback:
|
||||||
|
|
||||||
|
- Import Markitect graph/profile envelopes without redefining node vocabulary.
|
||||||
|
- Persist runtime audit events separately from Markitect memory events.
|
||||||
|
- Keep durable memory updates review-gated and export Markitect-compatible
|
||||||
|
package inputs.
|
||||||
|
|
||||||
|
Infospace-bench boundary:
|
||||||
|
|
||||||
|
- Keep corpus selection, applied metrics, evaluation history, workflow traces,
|
||||||
|
and practical package-quality evidence here.
|
||||||
|
- Do not store credentials, durable user memory, or general graph/event
|
||||||
|
persistence inside an infospace.
|
||||||
88
infospaces/agentic-memory-profile-pilot/artifacts/index.yaml
Normal file
88
infospaces/agentic-memory-profile-pilot/artifacts/index.yaml
Normal file
@@ -0,0 +1,88 @@
|
|||||||
|
artifacts:
|
||||||
|
- id: source/memory-pilot-brief.md
|
||||||
|
path: artifacts/sources/memory-pilot-brief.md
|
||||||
|
kind: source
|
||||||
|
title: Agentic Memory Profile Pilot Brief
|
||||||
|
provenance:
|
||||||
|
workplan: IB-WP-0017
|
||||||
|
selected_corpus: infospaces/wealth-vsm-legacy-slice
|
||||||
|
created_at: "2026-05-15T00:00:00Z"
|
||||||
|
relationships: []
|
||||||
|
- id: generated/memory-profile.yaml
|
||||||
|
path: output/memory/memory-profile.yaml
|
||||||
|
kind: generated
|
||||||
|
title: Agentic Memory Pilot Profile
|
||||||
|
provenance:
|
||||||
|
workflow_id: memory-profile-pilot
|
||||||
|
stage_id: validate-memory-fixtures
|
||||||
|
contract: markitect.memory.profile.v1
|
||||||
|
relationships:
|
||||||
|
- type: generated_from
|
||||||
|
target: source/memory-pilot-brief.md
|
||||||
|
- id: generated/memory-graph.yaml
|
||||||
|
path: output/memory/memory-graph.yaml
|
||||||
|
kind: generated
|
||||||
|
title: Agentic Memory Pilot Graph
|
||||||
|
provenance:
|
||||||
|
workflow_id: memory-profile-pilot
|
||||||
|
stage_id: validate-memory-fixtures
|
||||||
|
contract: markitect.memory.graph.v1
|
||||||
|
relationships:
|
||||||
|
- type: generated_from
|
||||||
|
target: source/memory-pilot-brief.md
|
||||||
|
- type: governed_by
|
||||||
|
target: generated/memory-profile.yaml
|
||||||
|
- id: generated/restart-context-selection.yaml
|
||||||
|
path: output/memory/restart-context-selection.yaml
|
||||||
|
kind: generated
|
||||||
|
title: Restart Context Selection
|
||||||
|
provenance:
|
||||||
|
workflow_id: memory-profile-pilot
|
||||||
|
stage_id: evaluate-restart-package
|
||||||
|
contract: markitect.memory.selection.v1
|
||||||
|
relationships:
|
||||||
|
- type: selects_from
|
||||||
|
target: generated/memory-graph.yaml
|
||||||
|
- type: governed_by
|
||||||
|
target: generated/memory-profile.yaml
|
||||||
|
- id: generated/restart-context-package.expected.yaml
|
||||||
|
path: output/memory/restart-context-package.expected.yaml
|
||||||
|
kind: generated
|
||||||
|
title: Expected Restart Context Package
|
||||||
|
provenance:
|
||||||
|
workflow_id: memory-profile-pilot
|
||||||
|
stage_id: evaluate-restart-package
|
||||||
|
expectation: compiled-by-markitect-memory-graph-pack
|
||||||
|
relationships:
|
||||||
|
- type: generated_from
|
||||||
|
target: generated/restart-context-selection.yaml
|
||||||
|
- id: generated/context-package-evaluation.yaml
|
||||||
|
path: output/memory/context-package-evaluation.yaml
|
||||||
|
kind: generated
|
||||||
|
title: Context Package Usefulness Evaluation
|
||||||
|
provenance:
|
||||||
|
workflow_id: memory-profile-pilot
|
||||||
|
stage_id: evaluate-restart-package
|
||||||
|
relationships:
|
||||||
|
- type: evaluates
|
||||||
|
target: generated/restart-context-package.expected.yaml
|
||||||
|
- id: generated/generation-plan-decision-trace.yaml
|
||||||
|
path: output/memory/traces/generation-plan-decision.yaml
|
||||||
|
kind: generated
|
||||||
|
title: Generation Plan Decision Trace
|
||||||
|
provenance:
|
||||||
|
workflow_id: memory-profile-pilot
|
||||||
|
stage_id: applied-workflow-traces
|
||||||
|
relationships:
|
||||||
|
- type: generated_from
|
||||||
|
target: source/memory-pilot-brief.md
|
||||||
|
- id: generated/entity-review-restart-trace.yaml
|
||||||
|
path: output/memory/traces/entity-review-restart.yaml
|
||||||
|
kind: generated
|
||||||
|
title: Entity Review Restart Trace
|
||||||
|
provenance:
|
||||||
|
workflow_id: memory-profile-pilot
|
||||||
|
stage_id: applied-workflow-traces
|
||||||
|
relationships:
|
||||||
|
- type: generated_from
|
||||||
|
target: source/memory-pilot-brief.md
|
||||||
@@ -0,0 +1,33 @@
|
|||||||
|
# Agentic Memory Profile Pilot Brief
|
||||||
|
|
||||||
|
## Pilot Corpus
|
||||||
|
|
||||||
|
The pilot uses `infospaces/wealth-vsm-legacy-slice` as the concrete corpus. It
|
||||||
|
is small enough to inspect by hand, already contains a source, entities,
|
||||||
|
relations, evaluations, metrics, history, and an engine sync plan, and it
|
||||||
|
exercises the same restart and review questions that a memory package should
|
||||||
|
help with.
|
||||||
|
|
||||||
|
The fixture also references the generic source generator because that workflow
|
||||||
|
is the likely producer of future memory events. The pilot does not create a
|
||||||
|
durable memory store; it records file-backed evidence and Markitect-compatible
|
||||||
|
contracts only.
|
||||||
|
|
||||||
|
## Memory Questions
|
||||||
|
|
||||||
|
| Question | Fixture Coverage | Acceptance Signal |
|
||||||
|
| --- | --- | --- |
|
||||||
|
| Which reasoning decisions should become durable memory? | `decision.file-backed-pilot` and `constraint.no-durable-runtime` | A restart package can recover the boundary without reading every workplan. |
|
||||||
|
| Which workflow events are useful later? | `turn.review-handoff`, `tool_call.generator-status`, and `observation.restart-risk` | Trace events explain why the package contains both decisions and artifact neighborhoods. |
|
||||||
|
| Which knowledge graph neighborhoods improve review? | `entity.division-of-labour`, `entity.market-extent`, and `artifact.wealth-source` | The package ties the decision path to the concrete Wealth/VSM artifacts. |
|
||||||
|
| Which context package shape helps agents? | `restart-context-selection.yaml` | The package stays within eight items and 1200 tokens. |
|
||||||
|
| Which profile parameters are misplaced or missing? | `context-package-evaluation.yaml` | Feedback separates Markitect contracts, engine runtime needs, and infospace evaluation knobs. |
|
||||||
|
|
||||||
|
## Acceptance Targets
|
||||||
|
|
||||||
|
- Memory profile and graph fixtures validate with `markitect-tool`.
|
||||||
|
- Context package compilation is deterministic aside from runtime timestamps.
|
||||||
|
- Every selected package item has a source span or a Markitect synthetic memory
|
||||||
|
span.
|
||||||
|
- No provider credentials, secrets, or durable user memory are stored.
|
||||||
|
- Runtime persistence remains delegated to `kontextual-engine`.
|
||||||
38
infospaces/agentic-memory-profile-pilot/infospace.yaml
Normal file
38
infospaces/agentic-memory-profile-pilot/infospace.yaml
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
slug: agentic-memory-profile-pilot
|
||||||
|
name: Agentic Memory Profile Pilot
|
||||||
|
topic:
|
||||||
|
name: Agentic Memory Profile Pilot
|
||||||
|
domain: Agentic Memory Evaluation
|
||||||
|
sources: artifacts/sources
|
||||||
|
disciplines:
|
||||||
|
- name: Markitect Memory Graph Contract
|
||||||
|
path: output/memory/memory-profile.yaml
|
||||||
|
schemas: {}
|
||||||
|
workflows:
|
||||||
|
- id: memory-profile-pilot
|
||||||
|
description: File-backed pilot for Markitect-compatible agentic memory profile fixtures.
|
||||||
|
inputs:
|
||||||
|
source:
|
||||||
|
kind: source
|
||||||
|
stages:
|
||||||
|
- id: select-pilot-corpus
|
||||||
|
kind: manual
|
||||||
|
input: source
|
||||||
|
template: reports/memory-profile-pilot.md
|
||||||
|
- id: validate-memory-fixtures
|
||||||
|
kind: manual
|
||||||
|
input: source
|
||||||
|
template: output/memory/memory-graph.yaml
|
||||||
|
- id: evaluate-restart-package
|
||||||
|
kind: manual
|
||||||
|
input: source
|
||||||
|
template: output/memory/context-package-evaluation.yaml
|
||||||
|
viability:
|
||||||
|
provenance_coverage_ratio:
|
||||||
|
min: 1.0
|
||||||
|
restart_quality_score:
|
||||||
|
min: 4.0
|
||||||
|
selected_node_count:
|
||||||
|
min: 6
|
||||||
|
context_package_budget_max_tokens:
|
||||||
|
max: 1200
|
||||||
@@ -0,0 +1,51 @@
|
|||||||
|
schema_version: infospace-bench.memory-context-evaluation.v1
|
||||||
|
evaluated_at: "2026-05-15T00:20:00Z"
|
||||||
|
workplan: IB-WP-0017
|
||||||
|
profile_id: infospace-agentic-memory-pilot
|
||||||
|
graph_id: infospace-agentic-memory-graph
|
||||||
|
selection: restart-context-selection.yaml
|
||||||
|
questions:
|
||||||
|
- id: restart-quality
|
||||||
|
prompt: Can a later agent resume Wealth/VSM review with the selected package?
|
||||||
|
score: 4.2
|
||||||
|
max_score: 5.0
|
||||||
|
result: pass
|
||||||
|
- id: provenance-review
|
||||||
|
prompt: Can a reviewer see why each memory item exists?
|
||||||
|
score: 5.0
|
||||||
|
max_score: 5.0
|
||||||
|
result: pass
|
||||||
|
- id: budget-realism
|
||||||
|
prompt: Does the selection fit a compact restart budget?
|
||||||
|
score: 4.0
|
||||||
|
max_score: 5.0
|
||||||
|
result: pass
|
||||||
|
- id: noise-control
|
||||||
|
prompt: Does the package omit low-value trace detail?
|
||||||
|
score: 3.8
|
||||||
|
max_score: 5.0
|
||||||
|
result: watch
|
||||||
|
metrics:
|
||||||
|
restart_quality_score: 4.2
|
||||||
|
provenance_coverage_ratio: 1.0
|
||||||
|
selected_node_count: 7
|
||||||
|
expected_item_count: 8
|
||||||
|
context_package_budget_max_tokens: 1200
|
||||||
|
live_llm_required: false
|
||||||
|
findings:
|
||||||
|
- id: finding.restart-risk
|
||||||
|
summary: Decision-only memory is not enough; restart packages need the active source/entity neighborhood.
|
||||||
|
- id: finding.neighborhood-improves-review
|
||||||
|
summary: The Division of Labour source and entity references make the boundary decision actionable for review.
|
||||||
|
- id: finding.profile-gap
|
||||||
|
summary: Profile retention intent is useful, but acceptance thresholds remain application-level metrics in infospace-bench.
|
||||||
|
recommended_contract_changes:
|
||||||
|
markitect-tool:
|
||||||
|
- Add an option for timestamp-stable context package fixture output to simplify cross-repo golden files.
|
||||||
|
- Document when selected events should become package items versus metadata.
|
||||||
|
kontextual-engine:
|
||||||
|
- Import Markitect graph/profile envelopes and persist runtime audit events separately from contract events.
|
||||||
|
- Keep durable write plans review-gated and export Markitect-compatible package input envelopes.
|
||||||
|
infospace-bench:
|
||||||
|
- Keep memory quality metrics and pilot corpora here.
|
||||||
|
- Do not store user memory, credentials, or runtime graph state in an infospace.
|
||||||
@@ -0,0 +1,273 @@
|
|||||||
|
schema_version: markitect.memory.graph.v1
|
||||||
|
id: infospace-agentic-memory-graph
|
||||||
|
title: Infospace Agentic Memory Pilot Graph
|
||||||
|
intent: Preserve the reviewed memory decisions, workflow events, and Wealth/VSM artifact neighborhood used to evaluate restart context packages.
|
||||||
|
namespace:
|
||||||
|
project: infospace-bench
|
||||||
|
task: IB-WP-0017
|
||||||
|
nodes:
|
||||||
|
- id: question.memory-decisions
|
||||||
|
kind: question
|
||||||
|
text: Which infospace generation and review decisions are useful enough to reactivate for later agent work?
|
||||||
|
source_spans:
|
||||||
|
- path: workplans/IB-WP-0017-agentic-memory-profile-pilot.md
|
||||||
|
unit_kind: section
|
||||||
|
selector: tasks[id=IB-WP-0017-T01]
|
||||||
|
engine: selector
|
||||||
|
metadata:
|
||||||
|
title: Memory question
|
||||||
|
summary: The pilot starts from concrete restart questions, not a runtime feature request.
|
||||||
|
- id: decision.file-backed-pilot
|
||||||
|
kind: decision
|
||||||
|
text: Keep the pilot file-backed in infospace-bench and use Markitect contracts for validation and package compilation.
|
||||||
|
source_spans:
|
||||||
|
- path: docs/agentic-memory-profile-pilot.md
|
||||||
|
unit_kind: section
|
||||||
|
selector: heading[Decision]
|
||||||
|
engine: selector
|
||||||
|
metadata:
|
||||||
|
title: File-backed pilot boundary
|
||||||
|
summary: Infospace-bench owns evidence and evaluation while Markitect owns contract compilation.
|
||||||
|
- id: constraint.no-durable-runtime
|
||||||
|
kind: constraint
|
||||||
|
text: Do not implement graph or event persistence in infospace-bench; durable runtime state belongs behind kontextual-engine.
|
||||||
|
source_spans:
|
||||||
|
- path: workplans/IB-WP-0017-agentic-memory-profile-pilot.md
|
||||||
|
unit_kind: section
|
||||||
|
selector: heading[Non-Goals]
|
||||||
|
engine: selector
|
||||||
|
metadata:
|
||||||
|
title: No durable memory runtime
|
||||||
|
- id: evidence.workplan-non-goal
|
||||||
|
kind: evidence
|
||||||
|
text: Workplan 17 explicitly forbids graph/event persistence, schema redefinition, live LLM requirements, and secrets in the infospace.
|
||||||
|
source_spans:
|
||||||
|
- path: workplans/IB-WP-0017-agentic-memory-profile-pilot.md
|
||||||
|
unit_kind: section
|
||||||
|
selector: heading[Non-Goals]
|
||||||
|
engine: selector
|
||||||
|
metadata:
|
||||||
|
title: Workplan non-goal evidence
|
||||||
|
- id: plan.restart-context-package
|
||||||
|
kind: plan
|
||||||
|
text: Evaluate a restart package that activates the boundary decision, one workflow trace, and the Wealth/VSM artifact neighborhood under a tight budget.
|
||||||
|
source_spans:
|
||||||
|
- path: infospaces/agentic-memory-profile-pilot/output/memory/restart-context-selection.yaml
|
||||||
|
unit_kind: mapping
|
||||||
|
selector: node_ids
|
||||||
|
engine: yaml
|
||||||
|
metadata:
|
||||||
|
title: Restart package plan
|
||||||
|
summary: The package should improve restart quality without becoming noisy.
|
||||||
|
- id: turn.review-handoff
|
||||||
|
kind: turn
|
||||||
|
text: Reviewer asks whether a later agent can resume entity and relation review without rereading every generated report.
|
||||||
|
source_spans:
|
||||||
|
- path: infospaces/agentic-memory-profile-pilot/output/memory/traces/entity-review-restart.yaml
|
||||||
|
unit_kind: trace
|
||||||
|
selector: events[0]
|
||||||
|
engine: yaml
|
||||||
|
metadata:
|
||||||
|
title: Review handoff turn
|
||||||
|
- id: tool_call.generator-status
|
||||||
|
kind: tool_call
|
||||||
|
text: The workflow status check reports one source, two entities, one relation, one evaluation snapshot, and no stale source artifacts.
|
||||||
|
source_spans:
|
||||||
|
- path: infospaces/wealth-vsm-legacy-slice/output/metrics/metrics.yaml
|
||||||
|
unit_kind: mapping
|
||||||
|
selector: metrics
|
||||||
|
engine: yaml
|
||||||
|
metadata:
|
||||||
|
title: Generator status check
|
||||||
|
- id: observation.restart-risk
|
||||||
|
kind: observation
|
||||||
|
text: Restart context is incomplete if it contains only decisions and omits the source/entity neighborhood under review.
|
||||||
|
source_spans:
|
||||||
|
- path: infospaces/agentic-memory-profile-pilot/output/memory/context-package-evaluation.yaml
|
||||||
|
unit_kind: mapping
|
||||||
|
selector: findings[0]
|
||||||
|
engine: yaml
|
||||||
|
metadata:
|
||||||
|
title: Restart risk observation
|
||||||
|
- id: artifact.wealth-source
|
||||||
|
kind: artifact
|
||||||
|
text: The Wealth/VSM legacy slice source is Book I Chapter III, used as the bounded corpus for the memory profile pilot.
|
||||||
|
source_spans:
|
||||||
|
- path: infospaces/wealth-vsm-legacy-slice/artifacts/sources/book-1-chapter-03.md
|
||||||
|
unit_kind: document
|
||||||
|
selector: path
|
||||||
|
engine: filesystem
|
||||||
|
metadata:
|
||||||
|
title: Book I Chapter III source
|
||||||
|
artifact_id: source/book-1-chapter-03.md
|
||||||
|
- id: entity.division-of-labour
|
||||||
|
kind: entity
|
||||||
|
text: Division of Labour is the generated entity whose review quality depends on preserving the source relation to market extent.
|
||||||
|
source_spans:
|
||||||
|
- path: infospaces/wealth-vsm-legacy-slice/artifacts/entities/division-of-labour.md
|
||||||
|
unit_kind: document
|
||||||
|
selector: path
|
||||||
|
engine: filesystem
|
||||||
|
metadata:
|
||||||
|
title: Division of Labour
|
||||||
|
artifact_id: entity/division-of-labour.md
|
||||||
|
- id: entity.market-extent
|
||||||
|
kind: entity
|
||||||
|
text: Market Extent is the paired entity in the Wealth/VSM relation neighborhood.
|
||||||
|
source_spans:
|
||||||
|
- path: infospaces/wealth-vsm-legacy-slice/artifacts/entities/market-extent.md
|
||||||
|
unit_kind: document
|
||||||
|
selector: path
|
||||||
|
engine: filesystem
|
||||||
|
metadata:
|
||||||
|
title: Market Extent
|
||||||
|
artifact_id: entity/market-extent.md
|
||||||
|
- id: finding.neighborhood-improves-review
|
||||||
|
kind: finding
|
||||||
|
text: The useful restart package combines the boundary decision with the concrete source and entity neighborhood being reviewed.
|
||||||
|
source_spans:
|
||||||
|
- path: infospaces/agentic-memory-profile-pilot/output/memory/context-package-evaluation.yaml
|
||||||
|
unit_kind: mapping
|
||||||
|
selector: findings[1]
|
||||||
|
engine: yaml
|
||||||
|
metadata:
|
||||||
|
title: Neighborhood improves review
|
||||||
|
- id: profile.agentic-memory-pilot
|
||||||
|
kind: profile
|
||||||
|
text: The profile enables reasoning, conversation, knowledge, and package memory kinds with review-gated durable writes.
|
||||||
|
source_spans:
|
||||||
|
- path: infospaces/agentic-memory-profile-pilot/output/memory/memory-profile.yaml
|
||||||
|
unit_kind: mapping
|
||||||
|
selector: $
|
||||||
|
engine: yaml
|
||||||
|
metadata:
|
||||||
|
title: Agentic memory pilot profile
|
||||||
|
- id: context_package.restart-package
|
||||||
|
kind: context_package
|
||||||
|
text: The restart package selection is capped at eight items and must preserve selected nodes, implied edges, events, policy metadata, and provenance.
|
||||||
|
source_spans:
|
||||||
|
- path: infospaces/agentic-memory-profile-pilot/output/memory/restart-context-selection.yaml
|
||||||
|
unit_kind: mapping
|
||||||
|
selector: $
|
||||||
|
engine: yaml
|
||||||
|
metadata:
|
||||||
|
title: Restart context package
|
||||||
|
package_id: memory:package:agentic-memory-profile-restart
|
||||||
|
- id: policy.review-gate
|
||||||
|
kind: policy
|
||||||
|
text: Any future durable memory write must be planned, reviewed, and applied through an explicit runtime gate.
|
||||||
|
source_spans:
|
||||||
|
- path: docs/agentic-memory-profile-pilot.md
|
||||||
|
unit_kind: section
|
||||||
|
selector: heading[Engine Integration Plan]
|
||||||
|
engine: selector
|
||||||
|
metadata:
|
||||||
|
title: Durable write review gate
|
||||||
|
edges:
|
||||||
|
- id: edge.evidence-supports-boundary
|
||||||
|
kind: supports
|
||||||
|
source: evidence.workplan-non-goal
|
||||||
|
target: decision.file-backed-pilot
|
||||||
|
- id: edge.constraint-supports-boundary
|
||||||
|
kind: supports
|
||||||
|
source: constraint.no-durable-runtime
|
||||||
|
target: decision.file-backed-pilot
|
||||||
|
- id: edge.question-led-to-boundary
|
||||||
|
kind: led_to
|
||||||
|
source: question.memory-decisions
|
||||||
|
target: decision.file-backed-pilot
|
||||||
|
- id: edge.boundary-led-to-package-plan
|
||||||
|
kind: led_to
|
||||||
|
source: decision.file-backed-pilot
|
||||||
|
target: plan.restart-context-package
|
||||||
|
- id: edge.turn-led-to-observation
|
||||||
|
kind: led_to
|
||||||
|
source: turn.review-handoff
|
||||||
|
target: observation.restart-risk
|
||||||
|
- id: edge.tool-call-led-to-observation
|
||||||
|
kind: led_to
|
||||||
|
source: tool_call.generator-status
|
||||||
|
target: observation.restart-risk
|
||||||
|
- id: edge.observation-supports-finding
|
||||||
|
kind: supports
|
||||||
|
source: observation.restart-risk
|
||||||
|
target: finding.neighborhood-improves-review
|
||||||
|
- id: edge.division-derived-from-source
|
||||||
|
kind: derived_from
|
||||||
|
source: entity.division-of-labour
|
||||||
|
target: artifact.wealth-source
|
||||||
|
- id: edge.market-derived-from-source
|
||||||
|
kind: derived_from
|
||||||
|
source: entity.market-extent
|
||||||
|
target: artifact.wealth-source
|
||||||
|
- id: edge.finding-references-division
|
||||||
|
kind: references
|
||||||
|
source: finding.neighborhood-improves-review
|
||||||
|
target: entity.division-of-labour
|
||||||
|
- id: edge.finding-references-market
|
||||||
|
kind: references
|
||||||
|
source: finding.neighborhood-improves-review
|
||||||
|
target: entity.market-extent
|
||||||
|
- id: edge.profile-governs-package
|
||||||
|
kind: governs
|
||||||
|
source: profile.agentic-memory-pilot
|
||||||
|
target: context_package.restart-package
|
||||||
|
- id: edge.policy-governs-package
|
||||||
|
kind: governs
|
||||||
|
source: policy.review-gate
|
||||||
|
target: context_package.restart-package
|
||||||
|
- id: edge.package-activates-plan
|
||||||
|
kind: activates
|
||||||
|
source: context_package.restart-package
|
||||||
|
target: plan.restart-context-package
|
||||||
|
events:
|
||||||
|
- id: event.memory-questions-recorded
|
||||||
|
kind: recorded
|
||||||
|
timestamp: "2026-05-15T00:00:00Z"
|
||||||
|
actor: infospace-bench
|
||||||
|
task: IB-WP-0017-T01
|
||||||
|
node_updates:
|
||||||
|
- node_id: question.memory-decisions
|
||||||
|
operation: create
|
||||||
|
- node_id: decision.file-backed-pilot
|
||||||
|
operation: create
|
||||||
|
- id: event.workflow-restart-trace
|
||||||
|
kind: recorded
|
||||||
|
timestamp: "2026-05-15T00:05:00Z"
|
||||||
|
actor: infospace-bench
|
||||||
|
thread: agentic-memory-profile-pilot
|
||||||
|
task: IB-WP-0017-T05
|
||||||
|
node_updates:
|
||||||
|
- node_id: turn.review-handoff
|
||||||
|
operation: create
|
||||||
|
- node_id: tool_call.generator-status
|
||||||
|
operation: create
|
||||||
|
- node_id: observation.restart-risk
|
||||||
|
operation: create
|
||||||
|
- id: event.restart-package-activated
|
||||||
|
kind: activated
|
||||||
|
timestamp: "2026-05-15T00:10:00Z"
|
||||||
|
actor: infospace-bench
|
||||||
|
task: IB-WP-0017-T03
|
||||||
|
package_refs:
|
||||||
|
- memory:package:agentic-memory-profile-restart
|
||||||
|
activation_refs:
|
||||||
|
- activation:agentic-memory-profile-restart-review
|
||||||
|
metadata:
|
||||||
|
selected_node_count: 7
|
||||||
|
expected_item_count: 8
|
||||||
|
- id: event.review-gate-policy
|
||||||
|
kind: policy_decision
|
||||||
|
timestamp: "2026-05-15T00:15:00Z"
|
||||||
|
actor: infospace-bench
|
||||||
|
task: IB-WP-0017-T04
|
||||||
|
node_updates:
|
||||||
|
- node_id: policy.review-gate
|
||||||
|
operation: create
|
||||||
|
policy:
|
||||||
|
durable_writes: review_required
|
||||||
|
decision: allow_fixture_only
|
||||||
|
metadata:
|
||||||
|
pilot_corpus: infospaces/wealth-vsm-legacy-slice
|
||||||
|
workplan: IB-WP-0017
|
||||||
|
lower_layer_contract: markitect.memory.graph.v1
|
||||||
@@ -0,0 +1,70 @@
|
|||||||
|
schema_version: markitect.memory.profile.v1
|
||||||
|
id: infospace-agentic-memory-pilot
|
||||||
|
title: Infospace Agentic Memory Pilot Profile
|
||||||
|
intent: Compile selected reasoning decisions, workflow events, and artifact neighborhoods into restart context packages for infospace evaluation.
|
||||||
|
memory_kinds:
|
||||||
|
- reasoning
|
||||||
|
- conversation
|
||||||
|
- knowledge
|
||||||
|
- package
|
||||||
|
stores:
|
||||||
|
reasoning: markitect-memory-graph-fixture
|
||||||
|
conversation: infospace-workflow-trace-fixtures
|
||||||
|
knowledge: infospace-artifact-neighborhood
|
||||||
|
package: markitect-context-package
|
||||||
|
limits:
|
||||||
|
reasoning:
|
||||||
|
max_nodes: 40
|
||||||
|
conversation:
|
||||||
|
max_nodes: 20
|
||||||
|
knowledge:
|
||||||
|
max_nodes: 80
|
||||||
|
package:
|
||||||
|
max_items: 8
|
||||||
|
latency:
|
||||||
|
reasoning:
|
||||||
|
target_ms: 50
|
||||||
|
conversation:
|
||||||
|
target_ms: 50
|
||||||
|
knowledge:
|
||||||
|
target_ms: 120
|
||||||
|
retention:
|
||||||
|
reasoning:
|
||||||
|
strategy: keep-reviewed-decisions
|
||||||
|
review_gate: required
|
||||||
|
conversation:
|
||||||
|
strategy: keep-accepted-handoff-events
|
||||||
|
window_events: 12
|
||||||
|
knowledge:
|
||||||
|
strategy: supersede-with-artifact-version
|
||||||
|
package:
|
||||||
|
strategy: regenerate-from-selection
|
||||||
|
refresh:
|
||||||
|
cadence: manual
|
||||||
|
trigger: source-artifact-or-profile-digest-change
|
||||||
|
compaction:
|
||||||
|
strategy: summarize-trace-after-review
|
||||||
|
owner: markitect-tool-contract-output
|
||||||
|
activation:
|
||||||
|
max_items: 8
|
||||||
|
max_tokens: 1200
|
||||||
|
reserve_tokens: 150
|
||||||
|
policy:
|
||||||
|
required_labels:
|
||||||
|
- project-local
|
||||||
|
durable_writes: review-gated
|
||||||
|
secrets_allowed: false
|
||||||
|
observability:
|
||||||
|
emit_events: true
|
||||||
|
metrics:
|
||||||
|
- restart_quality_score
|
||||||
|
- provenance_coverage_ratio
|
||||||
|
- context_package_budget_max_tokens
|
||||||
|
failure:
|
||||||
|
missing_runtime_store: degrade-to-file-backed-fixture
|
||||||
|
stale_profile: require-regeneration
|
||||||
|
metadata:
|
||||||
|
workplan: IB-WP-0017
|
||||||
|
contract_owner: markitect-tool
|
||||||
|
runtime_owner: kontextual-engine
|
||||||
|
evaluation_owner: infospace-bench
|
||||||
@@ -0,0 +1,44 @@
|
|||||||
|
schema_version: infospace-bench.memory-context-expectation.v1
|
||||||
|
package_id: memory:package:agentic-memory-profile-restart
|
||||||
|
title: Agentic Memory Profile Restart Package
|
||||||
|
intent: Activate the minimum useful context for resuming Wealth/VSM entity and relation review under the memory pilot boundary.
|
||||||
|
profile_id: infospace-agentic-memory-pilot
|
||||||
|
graph_id: infospace-agentic-memory-graph
|
||||||
|
expected_item_count: 8
|
||||||
|
expected_selected_nodes:
|
||||||
|
- decision.file-backed-pilot
|
||||||
|
- constraint.no-durable-runtime
|
||||||
|
- plan.restart-context-package
|
||||||
|
- artifact.wealth-source
|
||||||
|
- entity.division-of-labour
|
||||||
|
- finding.neighborhood-improves-review
|
||||||
|
- policy.review-gate
|
||||||
|
expected_selected_edges:
|
||||||
|
- edge.constraint-supports-boundary
|
||||||
|
- edge.boundary-led-to-package-plan
|
||||||
|
- edge.division-derived-from-source
|
||||||
|
- edge.finding-references-division
|
||||||
|
expected_selected_events:
|
||||||
|
- event.restart-package-activated
|
||||||
|
budget:
|
||||||
|
max_items: 8
|
||||||
|
max_tokens: 1200
|
||||||
|
reserve_tokens: 150
|
||||||
|
strategy: first-fit
|
||||||
|
acceptance:
|
||||||
|
requires_source_spans: true
|
||||||
|
max_token_estimate: 1200
|
||||||
|
required_node_kinds:
|
||||||
|
- decision
|
||||||
|
- constraint
|
||||||
|
- plan
|
||||||
|
- artifact
|
||||||
|
- entity
|
||||||
|
- finding
|
||||||
|
- policy
|
||||||
|
deterministic_fields:
|
||||||
|
- package_id
|
||||||
|
- title
|
||||||
|
- selected_nodes
|
||||||
|
- selected_edges
|
||||||
|
- selected_events
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
schema_version: markitect.memory.selection.v1
|
||||||
|
graph: memory-graph.yaml
|
||||||
|
profile: memory-profile.yaml
|
||||||
|
title: Agentic Memory Profile Restart Package
|
||||||
|
intent: Activate the minimum useful context for resuming Wealth/VSM entity and relation review under the memory pilot boundary.
|
||||||
|
package_id: memory:package:agentic-memory-profile-restart
|
||||||
|
namespace:
|
||||||
|
project: infospace-bench
|
||||||
|
task: IB-WP-0017
|
||||||
|
node_ids:
|
||||||
|
- decision.file-backed-pilot
|
||||||
|
- constraint.no-durable-runtime
|
||||||
|
- plan.restart-context-package
|
||||||
|
- artifact.wealth-source
|
||||||
|
- entity.division-of-labour
|
||||||
|
- finding.neighborhood-improves-review
|
||||||
|
- policy.review-gate
|
||||||
|
event_ids:
|
||||||
|
- event.restart-package-activated
|
||||||
|
budget:
|
||||||
|
max_items: 8
|
||||||
|
max_tokens: 1200
|
||||||
|
reserve_tokens: 150
|
||||||
|
strategy: first-fit
|
||||||
|
metadata:
|
||||||
|
purpose: restart-quality-evaluation
|
||||||
|
expected_task: resume Wealth/VSM review without rereading all workplans
|
||||||
@@ -0,0 +1,31 @@
|
|||||||
|
schema_version: infospace-bench.memory-trace.v1
|
||||||
|
id: trace.entity-review-restart
|
||||||
|
title: Entity Review Restart Trace
|
||||||
|
workplan: IB-WP-0017
|
||||||
|
source_workflow: wealth-vsm-legacy-slice-review
|
||||||
|
events:
|
||||||
|
- id: trace-event.review-handoff
|
||||||
|
kind: conversation_turn
|
||||||
|
timestamp: "2026-05-15T00:05:00Z"
|
||||||
|
actor: reviewer
|
||||||
|
summary: A later agent needs to resume review of the Division of Labour relation without rereading every report.
|
||||||
|
memory_nodes:
|
||||||
|
- turn.review-handoff
|
||||||
|
- id: trace-event.status-check
|
||||||
|
kind: tool_call
|
||||||
|
timestamp: "2026-05-15T00:06:00Z"
|
||||||
|
actor: infospace-bench
|
||||||
|
summary: The slice is compact and coherent enough for package evaluation.
|
||||||
|
memory_nodes:
|
||||||
|
- tool_call.generator-status
|
||||||
|
- id: trace-event.restart-risk
|
||||||
|
kind: observation
|
||||||
|
timestamp: "2026-05-15T00:07:00Z"
|
||||||
|
actor: infospace-bench
|
||||||
|
summary: Decision-only context would miss the actual source/entity neighborhood under review.
|
||||||
|
memory_nodes:
|
||||||
|
- observation.restart-risk
|
||||||
|
- finding.neighborhood-improves-review
|
||||||
|
review_notes:
|
||||||
|
- The selected package should include source and entity nodes, not only planning decisions.
|
||||||
|
- Relation review improves when the active artifact neighborhood is visible.
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
schema_version: infospace-bench.memory-trace.v1
|
||||||
|
id: trace.generation-plan-decision
|
||||||
|
title: Generation Plan Decision Trace
|
||||||
|
workplan: IB-WP-0017
|
||||||
|
source_workflow: generic-source-generator
|
||||||
|
events:
|
||||||
|
- id: trace-event.select-corpus
|
||||||
|
kind: planning_decision
|
||||||
|
timestamp: "2026-05-15T00:00:00Z"
|
||||||
|
actor: infospace-bench
|
||||||
|
summary: Selected the Wealth/VSM legacy slice because it has source, entities, relation, evaluation, metrics, and engine sync evidence.
|
||||||
|
memory_nodes:
|
||||||
|
- question.memory-decisions
|
||||||
|
- decision.file-backed-pilot
|
||||||
|
- id: trace-event.boundary-check
|
||||||
|
kind: review_gate
|
||||||
|
timestamp: "2026-05-15T00:02:00Z"
|
||||||
|
actor: infospace-bench
|
||||||
|
summary: Confirmed the pilot should create fixtures and metrics, not reusable graph/event persistence.
|
||||||
|
memory_nodes:
|
||||||
|
- constraint.no-durable-runtime
|
||||||
|
- policy.review-gate
|
||||||
|
review_notes:
|
||||||
|
- Keep this as a trace fixture until a runtime store exists behind kontextual-engine.
|
||||||
|
- Convert only reviewed decisions and useful restart evidence into memory graph nodes.
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
history:
|
||||||
|
- snapshot_id: memory-profile-pilot-20260515
|
||||||
|
recorded_at: "2026-05-15T00:25:00Z"
|
||||||
|
workplan: IB-WP-0017
|
||||||
|
metrics:
|
||||||
|
memory_profile_contract_valid: true
|
||||||
|
memory_graph_contract_valid: true
|
||||||
|
selection_contract_valid: true
|
||||||
|
restart_quality_score: 4.2
|
||||||
|
provenance_coverage_ratio: 1.0
|
||||||
|
selected_node_count: 7
|
||||||
|
expected_item_count: 8
|
||||||
|
selected_edge_count: 4
|
||||||
|
context_package_budget_max_tokens: 1200
|
||||||
|
notes:
|
||||||
|
- First deterministic fixture snapshot for the agentic memory profile pilot.
|
||||||
|
- Context package token estimate is checked in tests because Markitect computes it during compilation.
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
memory_profile_contract_valid: true
|
||||||
|
memory_graph_contract_valid: true
|
||||||
|
selection_contract_valid: true
|
||||||
|
restart_quality_score: 4.2
|
||||||
|
provenance_coverage_ratio: 1.0
|
||||||
|
selected_node_count: 7
|
||||||
|
expected_item_count: 8
|
||||||
|
selected_edge_count: 4
|
||||||
|
context_package_budget_max_tokens: 1200
|
||||||
|
live_llm_required: false
|
||||||
|
durable_runtime_required: false
|
||||||
@@ -0,0 +1,34 @@
|
|||||||
|
# Agentic Memory Profile Pilot Report
|
||||||
|
|
||||||
|
## Decision
|
||||||
|
|
||||||
|
The pilot validates agentic memory profiles through file-backed evidence in
|
||||||
|
`infospace-bench`. The durable runtime remains out of scope. Markitect owns the
|
||||||
|
memory graph/profile/selection contracts and context package compiler, while
|
||||||
|
`kontextual-engine` owns future runtime state, audit, permissions, retention,
|
||||||
|
refresh, compaction, and durable write review gates.
|
||||||
|
|
||||||
|
## Fixture Set
|
||||||
|
|
||||||
|
- `output/memory/memory-profile.yaml`: Markitect-compatible memory profile.
|
||||||
|
- `output/memory/memory-graph.yaml`: reviewed decision, trace, and artifact
|
||||||
|
neighborhood graph.
|
||||||
|
- `output/memory/restart-context-selection.yaml`: graph selection for a restart
|
||||||
|
package.
|
||||||
|
- `output/memory/restart-context-package.expected.yaml`: deterministic
|
||||||
|
expectations for compiled package shape.
|
||||||
|
- `output/memory/context-package-evaluation.yaml`: package usefulness evidence
|
||||||
|
and contract feedback.
|
||||||
|
- `output/memory/traces/*.yaml`: applied workflow traces showing where memory
|
||||||
|
records arise.
|
||||||
|
|
||||||
|
## Result
|
||||||
|
|
||||||
|
The selected restart package combines three kinds of useful context:
|
||||||
|
|
||||||
|
- the boundary decision that keeps this repo as the evaluation layer
|
||||||
|
- the review gate that prevents hidden durable memory writes
|
||||||
|
- the Wealth/VSM source and entity neighborhood needed to resume artifact review
|
||||||
|
|
||||||
|
This is enough to answer the Workplan 17 pilot questions without turning the
|
||||||
|
infospace into a memory runtime.
|
||||||
92
tests/test_agentic_memory_profile.py
Normal file
92
tests/test_agentic_memory_profile.py
Normal file
@@ -0,0 +1,92 @@
|
|||||||
|
from pathlib import Path
|
||||||
|
|
||||||
|
import yaml
|
||||||
|
|
||||||
|
from infospace_bench import load_infospace
|
||||||
|
from markitect_tool.memory.graph import (
|
||||||
|
compile_memory_graph_selection_to_context_package,
|
||||||
|
load_memory_graph_file,
|
||||||
|
load_memory_graph_selection_file,
|
||||||
|
load_memory_profile_file,
|
||||||
|
validate_memory_graph,
|
||||||
|
validate_memory_profile,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
ROOT = Path("infospaces/agentic-memory-profile-pilot")
|
||||||
|
|
||||||
|
|
||||||
|
def test_agentic_memory_profile_pilot_is_loadable() -> None:
|
||||||
|
infospace = load_infospace(ROOT)
|
||||||
|
artifact_ids = {artifact.id for artifact in infospace.artifacts}
|
||||||
|
|
||||||
|
assert infospace.config.slug == "agentic-memory-profile-pilot"
|
||||||
|
assert "source/memory-pilot-brief.md" in artifact_ids
|
||||||
|
assert "generated/memory-profile.yaml" in artifact_ids
|
||||||
|
assert "generated/memory-graph.yaml" in artifact_ids
|
||||||
|
assert "generated/restart-context-selection.yaml" in artifact_ids
|
||||||
|
assert "generated/context-package-evaluation.yaml" in artifact_ids
|
||||||
|
|
||||||
|
|
||||||
|
def test_memory_profile_and_graph_validate_with_markitect_contracts() -> None:
|
||||||
|
profile = load_memory_profile_file(ROOT / "output" / "memory" / "memory-profile.yaml")
|
||||||
|
graph = load_memory_graph_file(ROOT / "output" / "memory" / "memory-graph.yaml")
|
||||||
|
|
||||||
|
profile_result = validate_memory_profile(profile)
|
||||||
|
graph_result = validate_memory_graph(graph)
|
||||||
|
|
||||||
|
assert profile_result.valid, [item.to_dict() for item in profile_result.diagnostics]
|
||||||
|
assert graph_result.valid, [item.to_dict() for item in graph_result.diagnostics]
|
||||||
|
assert profile_result.metadata["memory_kinds"] == [
|
||||||
|
"reasoning",
|
||||||
|
"conversation",
|
||||||
|
"knowledge",
|
||||||
|
"package",
|
||||||
|
]
|
||||||
|
assert graph_result.metadata == {"nodes": 15, "edges": 14, "events": 4}
|
||||||
|
|
||||||
|
|
||||||
|
def test_restart_context_selection_compiles_to_expected_package_shape() -> None:
|
||||||
|
profile = load_memory_profile_file(ROOT / "output" / "memory" / "memory-profile.yaml")
|
||||||
|
graph = load_memory_graph_file(ROOT / "output" / "memory" / "memory-graph.yaml")
|
||||||
|
selection = load_memory_graph_selection_file(
|
||||||
|
ROOT / "output" / "memory" / "restart-context-selection.yaml"
|
||||||
|
)
|
||||||
|
expected = yaml.safe_load(
|
||||||
|
(ROOT / "output" / "memory" / "restart-context-package.expected.yaml").read_text(
|
||||||
|
encoding="utf-8"
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
package = compile_memory_graph_selection_to_context_package(
|
||||||
|
graph,
|
||||||
|
selection,
|
||||||
|
profile,
|
||||||
|
)
|
||||||
|
memory_graph = package.metadata["memory_graph"]
|
||||||
|
|
||||||
|
assert package.id == expected["package_id"]
|
||||||
|
assert package.title == expected["title"]
|
||||||
|
assert len(package.items) == expected["expected_item_count"]
|
||||||
|
assert package.budget.to_dict() == expected["budget"]
|
||||||
|
assert package.token_estimate <= expected["acceptance"]["max_token_estimate"]
|
||||||
|
assert memory_graph["selected_nodes"] == expected["expected_selected_nodes"]
|
||||||
|
assert memory_graph["selected_edges"] == expected["expected_selected_edges"]
|
||||||
|
assert memory_graph["selected_events"] == expected["expected_selected_events"]
|
||||||
|
assert all(item.source.path for item in package.items)
|
||||||
|
|
||||||
|
|
||||||
|
def test_agentic_memory_pilot_docs_route_lower_layer_feedback() -> None:
|
||||||
|
text = Path("docs/agentic-memory-profile-pilot.md").read_text(encoding="utf-8")
|
||||||
|
evaluation = yaml.safe_load(
|
||||||
|
(ROOT / "output" / "memory" / "context-package-evaluation.yaml").read_text(
|
||||||
|
encoding="utf-8"
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
assert "markitect.memory.profile.v1" in text
|
||||||
|
assert "kontextual-engine" in text
|
||||||
|
assert "Do not store credentials" in text
|
||||||
|
assert evaluation["recommended_contract_changes"]["markitect-tool"]
|
||||||
|
assert evaluation["recommended_contract_changes"]["kontextual-engine"]
|
||||||
|
assert evaluation["metrics"]["live_llm_required"] is False
|
||||||
@@ -4,7 +4,7 @@ type: workplan
|
|||||||
title: "Agentic Memory Profile Infospace Pilot"
|
title: "Agentic Memory Profile Infospace Pilot"
|
||||||
domain: markitect
|
domain: markitect
|
||||||
repo: infospace-bench
|
repo: infospace-bench
|
||||||
status: todo
|
status: completed
|
||||||
owner: markitect
|
owner: markitect
|
||||||
topic_slug: markitect
|
topic_slug: markitect
|
||||||
created: "2026-05-15"
|
created: "2026-05-15"
|
||||||
@@ -57,7 +57,7 @@ infrastructure.
|
|||||||
|
|
||||||
```task
|
```task
|
||||||
id: IB-WP-0017-T01
|
id: IB-WP-0017-T01
|
||||||
status: todo
|
status: done
|
||||||
priority: high
|
priority: high
|
||||||
state_hub_task_id: "a84301cc-b6b8-4f16-8b21-8d5510160ab8"
|
state_hub_task_id: "a84301cc-b6b8-4f16-8b21-8d5510160ab8"
|
||||||
```
|
```
|
||||||
@@ -79,7 +79,7 @@ Output: pilot selection note and memory-question matrix.
|
|||||||
|
|
||||||
```task
|
```task
|
||||||
id: IB-WP-0017-T02
|
id: IB-WP-0017-T02
|
||||||
status: todo
|
status: done
|
||||||
priority: high
|
priority: high
|
||||||
state_hub_task_id: "105f6555-243c-4374-8010-b2a61f6df83e"
|
state_hub_task_id: "105f6555-243c-4374-8010-b2a61f6df83e"
|
||||||
```
|
```
|
||||||
@@ -101,7 +101,7 @@ Output: checked-in fixture set and validation docs.
|
|||||||
|
|
||||||
```task
|
```task
|
||||||
id: IB-WP-0017-T03
|
id: IB-WP-0017-T03
|
||||||
status: todo
|
status: done
|
||||||
priority: high
|
priority: high
|
||||||
state_hub_task_id: "243d478c-b17e-4cd8-9562-edf3072eaf9c"
|
state_hub_task_id: "243d478c-b17e-4cd8-9562-edf3072eaf9c"
|
||||||
```
|
```
|
||||||
@@ -122,7 +122,7 @@ Output: evaluation report, metrics history, and recommended contract changes.
|
|||||||
|
|
||||||
```task
|
```task
|
||||||
id: IB-WP-0017-T04
|
id: IB-WP-0017-T04
|
||||||
status: todo
|
status: done
|
||||||
priority: medium
|
priority: medium
|
||||||
state_hub_task_id: "db8ebf8b-4507-48de-a168-6eb82e584687"
|
state_hub_task_id: "db8ebf8b-4507-48de-a168-6eb82e584687"
|
||||||
```
|
```
|
||||||
@@ -144,7 +144,7 @@ Output: integration plan aligned with `IB-WP-0010` and `KONT-WP-0017`.
|
|||||||
|
|
||||||
```task
|
```task
|
||||||
id: IB-WP-0017-T05
|
id: IB-WP-0017-T05
|
||||||
status: todo
|
status: done
|
||||||
priority: medium
|
priority: medium
|
||||||
state_hub_task_id: "4f8dccbc-329f-484e-97ad-1d6d049d3001"
|
state_hub_task_id: "4f8dccbc-329f-484e-97ad-1d6d049d3001"
|
||||||
```
|
```
|
||||||
@@ -166,7 +166,7 @@ Output: trace examples and review notes.
|
|||||||
|
|
||||||
```task
|
```task
|
||||||
id: IB-WP-0017-T06
|
id: IB-WP-0017-T06
|
||||||
status: todo
|
status: done
|
||||||
priority: medium
|
priority: medium
|
||||||
state_hub_task_id: "c4b08c44-9c80-4b58-a050-1362996bae4d"
|
state_hub_task_id: "c4b08c44-9c80-4b58-a050-1362996bae4d"
|
||||||
```
|
```
|
||||||
@@ -184,6 +184,26 @@ The feedback should identify:
|
|||||||
Output: architecture feedback note and proposed follow-on workplans where
|
Output: architecture feedback note and proposed follow-on workplans where
|
||||||
needed.
|
needed.
|
||||||
|
|
||||||
|
## Implementation Evidence
|
||||||
|
|
||||||
|
- Pilot corpus and question matrix:
|
||||||
|
`docs/agentic-memory-profile-pilot.md` and
|
||||||
|
`infospaces/agentic-memory-profile-pilot/artifacts/sources/memory-pilot-brief.md`.
|
||||||
|
- Markitect-compatible fixtures:
|
||||||
|
`infospaces/agentic-memory-profile-pilot/output/memory/memory-profile.yaml`,
|
||||||
|
`memory-graph.yaml`, and `restart-context-selection.yaml`.
|
||||||
|
- Expected context package shape:
|
||||||
|
`infospaces/agentic-memory-profile-pilot/output/memory/restart-context-package.expected.yaml`.
|
||||||
|
- Context package evaluation and metrics history:
|
||||||
|
`infospaces/agentic-memory-profile-pilot/output/memory/context-package-evaluation.yaml`,
|
||||||
|
`output/metrics/metrics.yaml`, and `output/metrics/memory-profile-history.yaml`.
|
||||||
|
- Applied workflow traces:
|
||||||
|
`infospaces/agentic-memory-profile-pilot/output/memory/traces/`.
|
||||||
|
- Runtime integration plan and lower-layer feedback:
|
||||||
|
`docs/agentic-memory-profile-pilot.md`.
|
||||||
|
- Deterministic acceptance coverage:
|
||||||
|
`tests/test_agentic_memory_profile.py`.
|
||||||
|
|
||||||
## Acceptance
|
## Acceptance
|
||||||
|
|
||||||
- The pilot validates memory profiles against a concrete infospace workflow.
|
- The pilot validates memory profiles against a concrete infospace workflow.
|
||||||
|
|||||||
Reference in New Issue
Block a user