{
  "schema": 2,
  "projects": [
    {
      "slug": "agent-assembly-runtime",
      "title": "Agent Assembly Runtime",
      "job": "Edit one agent definition and rebuild its group, task and memory views.",
      "kind": "Library",
      "tags": [
        "Workflows & capabilities"
      ],
      "repository": "https://github.com/CinvanaAI/agent-assembly-runtime",
      "mechanism": "One canonical document owns task membership; other files are rebuildable projections.",
      "scope": "Source with a complete offline example.",
      "limits": [
        "This runtime manages configured documents. Embedded workflow and package source remains data; this package does not run an agent or execute those tasks."
      ],
      "sources": [
        {
          "path": "examples/walkthrough.py",
          "label": "Runnable example and its input"
        },
        {
          "path": "examples/result.txt",
          "label": "Complete captured result"
        },
        {
          "path": "agent_assembly_runtime/assembly_manager.py",
          "label": "agent_assembly_runtime/assembly_manager.py"
        },
        {
          "path": "agent_assembly_runtime/agent_normalizer.py",
          "label": "agent_assembly_runtime/agent_normalizer.py"
        },
        {
          "path": "agent_assembly_runtime/agent_validator.py",
          "label": "agent_assembly_runtime/agent_validator.py"
        },
        {
          "path": "tests/test_runtime.py",
          "label": "tests/test_runtime.py"
        }
      ],
      "keywords": [
        "agent configuration",
        "file projections",
        "validation"
      ],
      "license": "MIT",
      "example": {
        "title": "See the idea in action.",
        "label": "Recorded synthetic example",
        "output_label": "Captured result",
        "description": "Edit the canonical definition, rebuild its projections, reload the changed groups and reject an unknown task field.",
        "input": "Review Bot with Outcasts and Research groups and one Summarize task.",
        "output": "{\n  \"name\": \"Review Bot\",\n  \"groups\": [\n    \"Outcasts\",\n    \"Research\"\n  ],\n  \"files\": [\n    \"Review_Bot/Outcasts.group.json\",\n    \"Review_Bot/Research.group.json\",\n    \"Review_Bot/Review_Bot.json\",\n    \"Review_Bot/Summarize.task.json\"\n  ],\n  \"rejected_typo\": \"task entry 1 contains unknown field(s): task_staus\",\n  \"embedded_source_executed\": false,\n  \"groups_after_edit_and_restart\": [\n    \"Outcasts\",\n    \"Review\"\n  ],\n  \"projected_task\": \"Summarize\",\n  \"stale_research_projection_removed\": true\n}",
        "setup": "From the repository root, follow the dependency requirements in the README. This example uses supplied synthetic material.",
        "command": "python -m pip install -e .\npython -m examples.walkthrough",
        "success": "Edit the canonical definition, rebuild its projections, reload the changed groups and reject an unknown task field."
      },
      "family_ids": [
        "builder-foundry"
      ],
      "lineage": {
        "package_kind": "focused_extraction",
        "package_kind_label": "Focused extraction",
        "origin_summary": "Assembly subsystem of the historical Python Agent Foundry workbench.",
        "public_package_changes": "Removes host handoff coupling and accepts a caller-selected assemblies directory; retains schema, validation, projection and memory machinery.",
        "boundary": "The independent package manages documents; it is not the complete agent workbench.",
        "documented_dates": [],
        "relationships": [
          {
            "target": "python-agent-foundry-workbench",
            "relation": "extracted_from",
            "label": "Source workbench / parent system",
            "visitor_value": "See the integrated setting from which this independently useful mechanism was separated.",
            "caveat": "The standalone boundary has documented public adaptations; this is not a promise of current drop-in interchangeability.",
            "sources": [
              "https://github.com/CinvanaAI/agent-assembly-runtime/blob/eaac77944f7655db4cc7767768030de76153d17b/ORIGIN.md#L1-L3"
            ]
          }
        ],
        "sources": [
          "https://github.com/CinvanaAI/agent-assembly-runtime/blob/eaac77944f7655db4cc7767768030de76153d17b/ORIGIN.md#L1-L3"
        ]
      }
    },
    {
      "slug": "agent-chatroom-ledger",
      "title": "Agent Chatroom Ledger",
      "job": "Give a local agent room a durable record, with separate reading positions for each consumer.",
      "kind": "Library",
      "tags": [
        "Conversations & archives"
      ],
      "repository": "https://github.com/CinvanaAI/agent-chatroom-ledger",
      "mechanism": "Canonical messages survive changes to compiled context views and per-consumer cursors.",
      "scope": "Source with a complete offline example.",
      "limits": [
        "This is the durable room and CLI backend. It has no live model or host-process connector. Message bodies are stored locally in plaintext; compiled-view exclusion is not deletion."
      ],
      "sources": [
        {
          "path": "examples/walkthrough.py",
          "label": "Runnable example and its input"
        },
        {
          "path": "examples/result.txt",
          "label": "Complete captured result"
        },
        {
          "path": "agent_chatroom_ledger/service.py",
          "label": "agent_chatroom_ledger/service.py"
        },
        {
          "path": "agent_chatroom_ledger/store.py",
          "label": "agent_chatroom_ledger/store.py"
        },
        {
          "path": "agent_chatroom_ledger/cli.py",
          "label": "agent_chatroom_ledger/cli.py"
        },
        {
          "path": "tests/test_chatroom_backend.py",
          "label": "tests/test_chatroom_backend.py"
        }
      ],
      "keywords": [
        "conversation",
        "durability",
        "coordination"
      ],
      "license": "MIT",
      "example": {
        "title": "See the idea in action.",
        "label": "Recorded synthetic example",
        "output_label": "Captured result",
        "description": "After restart: Analyst has 0 unread, Reviewer has 2; excluding message 1 leaves canonical IDs [1, 2] and visible ID [2].",
        "input": "Two synthetic messages, read independently by Analyst and Reviewer.",
        "output": "{\n  \"unread_before\": {\n    \"Analyst\": 2,\n    \"Reviewer\": 2\n  },\n  \"unread_after_restart\": {\n    \"Analyst\": 0,\n    \"Reviewer\": 2\n  },\n  \"canonical_ids\": [\n    1,\n    2\n  ],\n  \"visible_ids_after_exclusion\": [\n    2\n  ],\n  \"canonical_lens_survived_broken_view\": true,\n  \"rebuilt_visible_ids\": [\n    2\n  ],\n  \"reviewer_unread_after_explicit_acknowledgement\": 0,\n  \"verification\": {\n    \"ok\": true,\n    \"error_count\": 0,\n    \"issues\": []\n  }\n}",
        "setup": "From the repository root, follow the dependency requirements in the README. This example uses supplied synthetic material.",
        "command": "python -m pip install -e .\npython -m examples.walkthrough",
        "success": "After restart: Analyst has 0 unread, Reviewer has 2; excluding message 1 leaves canonical IDs [1, 2] and visible ID [2]."
      },
      "family_ids": [
        "builder-foundry"
      ],
      "lineage": {
        "package_kind": "focused_extraction",
        "package_kind_label": "Focused extraction",
        "origin_summary": "Chatroom backend from the historical Python Agent Foundry workbench.",
        "public_package_changes": "Removes host registry coupling, model connectors and private rooms; retains durable storage and governance.",
        "boundary": "A durable room backend, with no implied current model connector.",
        "documented_dates": [
          {
            "value": "2026-06",
            "precision": "month",
            "scope": "Historical chatroom backend creation.",
            "is_project_start": false,
            "sources": [
              "https://github.com/CinvanaAI/agent-chatroom-ledger/blob/b5411a5215165e184cc7f467b99f65fef0f08f16/ORIGIN.md#L5-L5"
            ]
          }
        ],
        "relationships": [
          {
            "target": "python-agent-foundry-workbench",
            "relation": "extracted_from",
            "label": "Source workbench / parent system",
            "visitor_value": "See the integrated setting from which this independently useful mechanism was separated.",
            "caveat": "The standalone boundary has documented public adaptations; this is not a promise of current drop-in interchangeability.",
            "sources": [
              "https://github.com/CinvanaAI/agent-chatroom-ledger/blob/b5411a5215165e184cc7f467b99f65fef0f08f16/ORIGIN.md#L1-L5"
            ]
          }
        ],
        "sources": [
          "https://github.com/CinvanaAI/agent-chatroom-ledger/blob/b5411a5215165e184cc7f467b99f65fef0f08f16/ORIGIN.md#L1-L5"
        ]
      }
    },
    {
      "slug": "alias-resolver",
      "title": "Alias Resolver",
      "job": "Name your project paths, imports and startup tasks once, then resolve them from one configuration.",
      "kind": "Tool",
      "tags": [
        "Workflows & capabilities"
      ],
      "repository": "https://github.com/CinvanaAI/alias-resolver",
      "mechanism": "Path aliases stay within the configuration root; lifecycle calls return structured completions/failures.",
      "scope": "Source with a complete offline example.",
      "limits": [
        "YAML import targets execute Python code and must be trusted. Daemon-thread startup reports thread launch, not eventual completion or failures inside the thread. This is not a service supervisor."
      ],
      "sources": [
        {
          "path": "examples/walkthrough.py",
          "label": "Runnable example and its input"
        },
        {
          "path": "examples/result.txt",
          "label": "Complete captured result"
        },
        {
          "path": "src/alias_resolver/resolver.py",
          "label": "src/alias_resolver/resolver.py"
        },
        {
          "path": "src/alias_resolver/cli.py",
          "label": "src/alias_resolver/cli.py"
        },
        {
          "path": "examples/config.yaml",
          "label": "examples/config.yaml"
        },
        {
          "path": "examples/fastapi_lifecycle.py",
          "label": "examples/fastapi_lifecycle.py"
        },
        {
          "path": "tests/test_resolver.py",
          "label": "tests/test_resolver.py"
        }
      ],
      "keywords": [
        "configuration",
        "Python imports",
        "lifecycle"
      ],
      "license": "Apache-2.0",
      "example": {
        "title": "See the idea in action.",
        "label": "Recorded synthetic example",
        "output_label": "Captured result",
        "description": "The cache task completes, a deliberate startup failure is reported, and shutdown still closes the synthetic database task.",
        "input": "A supplied YAML file, a real synthetic data file, and three supplied lifecycle functions.",
        "output": "{\n  \"path\": \"data/input.json\",\n  \"input\": {\n    \"message\": \"Synthetic lifecycle example\"\n  },\n  \"import_matches_module\": true,\n  \"startup\": {\n    \"completed\": [\n      \"warm_cache\"\n    ],\n    \"started_threads\": [],\n    \"failures\": [\n      \"fail_startup: synthetic startup failure\"\n    ]\n  },\n  \"shutdown\": {\n    \"completed\": [\n      \"close_database\"\n    ],\n    \"started_threads\": [],\n    \"failures\": []\n  },\n  \"events\": [\n    \"cache warmed\",\n    \"startup failed\",\n    \"database closed\"\n  ]\n}",
        "setup": "From the repository root, follow the dependency requirements in the README. This example uses supplied synthetic material.",
        "command": "python -m pip install -e .\npython -m examples.walkthrough",
        "success": "The cache task completes, a deliberate startup failure is reported, and shutdown still closes the synthetic database task."
      },
      "family_ids": [],
      "lineage": {
        "package_kind": "public_continuation",
        "package_kind_label": "Public continuation",
        "origin_summary": "Earlier Apache-licensed YAML path/import/lifecycle alias utility.",
        "public_package_changes": "Adds an explicit Resolver, containment and configuration checks, CLI, lifecycle results and packaging.",
        "boundary": "The old FastAPI demonstration is an example, not a runtime requirement.",
        "documented_dates": [],
        "relationships": [],
        "sources": [
          "https://github.com/CinvanaAI/alias-resolver/blob/aaef0e26942cace6fc47942592750eff6381a057/ORIGIN.md#L1-L6"
        ]
      }
    },
    {
      "slug": "architecture-difference-case-study",
      "title": "Architecture Difference Case Study",
      "job": "Compare two tiny systems that return the same answer but handle responsibility and failure differently.",
      "kind": "Experiment",
      "tags": [
        "Code & architecture"
      ],
      "repository": "https://github.com/CinvanaAI/architecture-difference-case-study",
      "mechanism": "Equal output makes ownership, lifecycle, storage, and relay differences inspectable without a large application.",
      "scope": "An executable experiment using supplied synthetic inputs.",
      "limits": [
        "These are small comparative programs, not interchangeable products or evidence that one architecture is universally better. The provider functions are inert local stubs. The walkthrough observes internal state deliberately to make this case study inspectable."
      ],
      "sources": [
        {
          "path": "examples/walkthrough.py",
          "label": "Runnable example and its input"
        },
        {
          "path": "examples/result.txt",
          "label": "Complete captured result"
        },
        {
          "path": "versions/version_a/pipeline.py",
          "label": "versions/version_a/pipeline.py"
        },
        {
          "path": "versions/version_b/pipeline.py",
          "label": "versions/version_b/pipeline.py"
        },
        {
          "path": "DIFFERENCE_MAP.md",
          "label": "DIFFERENCE_MAP.md"
        },
        {
          "path": "tests/test_case_study.py",
          "label": "tests/test_case_study.py"
        }
      ],
      "keywords": [
        "architecture",
        "controlled comparison",
        "Python"
      ],
      "license": "MIT",
      "example": {
        "title": "See the idea in action.",
        "label": "Recorded synthetic example",
        "output_label": "Captured result",
        "description": "Both return HELLO WORLD. A closes its environment; B records one store write, one capability call, and one bridge delivery, leaving its environment open.",
        "input": "The same string, with surrounding spaces, passed through both toy systems.",
        "output": "{\n  \"input\": \"  hello world  \",\n  \"same_output\": true,\n  \"version_a\": {\n    \"output\": \"HELLO WORLD\",\n    \"environment_after_close\": \"closed\",\n    \"agent_state\": \"idle\",\n    \"work_count\": 1,\n    \"records\": 1\n  },\n  \"version_b\": {\n    \"output\": \"HELLO WORLD\",\n    \"store\": {\n      \"count\": 1,\n      \"archived\": 0\n    },\n    \"store_operations\": [\n      \"write\"\n    ],\n    \"capability_calls\": 1,\n    \"bridge_deliveries\": 1,\n    \"provider_routes\": [\n      \"primary\"\n    ],\n    \"environment_open_after_run\": true\n  },\n  \"provider\": \"inert local stub in both versions\"\n}",
        "setup": "From the repository root, follow the dependency requirements in the README. This example uses supplied synthetic material.",
        "command": "python -m examples.walkthrough",
        "success": "Both return HELLO WORLD. A closes its environment; B records one store write, one capability call, and one bridge delivery, leaving its environment open."
      },
      "family_ids": [],
      "lineage": {
        "package_kind": "research_case",
        "package_kind_label": "Preserved research case",
        "origin_summary": "Controlled comparison of two source versions created in March 2026.",
        "public_package_changes": "Preserves both implementations and the difference map; excludes editor configuration.",
        "boundary": "A controlled architecture comparison, not two independently marketed products.",
        "documented_dates": [
          {
            "value": "2026-03",
            "precision": "month",
            "scope": "Creation of the controlled comparison working tree.",
            "is_project_start": false,
            "sources": [
              "https://github.com/CinvanaAI/architecture-difference-case-study/blob/c4e4f72f5fc4b09de380f4c78805bebea839b2a5/ORIGIN.md#L3-L5"
            ]
          }
        ],
        "relationships": [],
        "sources": [
          "https://github.com/CinvanaAI/architecture-difference-case-study/blob/c4e4f72f5fc4b09de380f4c78805bebea839b2a5/ORIGIN.md#L1-L6"
        ]
      }
    },
    {
      "slug": "atlas-domain-pack-sdk",
      "title": "Atlas Domain Pack SDK",
      "job": "Define an Atlas domain pack and catch broken definitions and references before a database import.",
      "kind": "Library",
      "tags": [
        "Data & provenance"
      ],
      "repository": "https://github.com/CinvanaAI/atlas-domain-pack-sdk",
      "mechanism": "Fast structural and cross-file validation without kernel state or a database.",
      "scope": "Source with a complete offline example.",
      "limits": [
        "Structural validation does not establish the truth of seed data or the quality of a procedure. Runtime checkpoint execution belongs to Atlas Kernel. Required checkpoints must resolve even when the definition file is empty or absent. The SDK uses atlas-sdk-validate-pack so it can coexist with Atlas Kernel."
      ],
      "sources": [
        {
          "path": "examples/walkthrough.py",
          "label": "Runnable example and its input"
        },
        {
          "path": "examples/result.txt",
          "label": "Complete captured result"
        },
        {
          "path": "atlas_domain_pack_sdk/validate_pack.py",
          "label": "atlas_domain_pack_sdk/validate_pack.py"
        },
        {
          "path": "atlas_domain_pack_sdk/validators.py",
          "label": "atlas_domain_pack_sdk/validators.py"
        },
        {
          "path": "DOMAIN_PACK_SPEC.md",
          "label": "DOMAIN_PACK_SPEC.md"
        },
        {
          "path": "pyproject.toml",
          "label": "pyproject.toml"
        }
      ],
      "keywords": [
        "domain packs",
        "JSON schema",
        "authoring"
      ],
      "license": "MIT",
      "example": {
        "title": "See the idea in action.",
        "label": "Recorded synthetic example",
        "output_label": "Captured result",
        "description": "The original pack passes; the changed template reports its unknown checkpoint.",
        "input": "The seven-file Research Notes example and a copy with missing_checkpoint.v 1.",
        "output": "{\n  \"valid_pack\": {\n    \"pack_name\": \"research_notes\",\n    \"passed\": true,\n    \"files\": {\n      \"pack_manifest.json\": {\n        \"valid\": 1,\n        \"errors\": []\n      },\n      \"node_types.json\": {\n        \"valid\": 2,\n        \"errors\": []\n      },\n      \"edge_types.json\": {\n        \"valid\": 2,\n        \"errors\": []\n      },\n      \"procedures.json\": {\n        \"valid\": 1,\n        \"errors\": []\n      },\n      \"checkpoints.json\": {\n        \"valid\": 1,\n        \"errors\": []\n      },\n      \"packet_templates.json\": {\n        \"valid\": 1,\n        \"errors\": []\n      },\n      \"seed_data.json\": {\n        \"valid\": 2,\n        \"errors\": []\n      }\n    },\n    \"warnings\": [],\n    \"errors\": []\n  },\n  \"rejected_edits\": {\n    \"unknown_checkpoint\": {\n      \"pack_name\": \"research_notes\",\n      \"passed\": false,\n      \"files\": {\n        \"pack_manifest.json\": {\n          \"valid\": 1,\n          \"errors\": []\n        },\n        \"node_types.json\": {\n          \"valid\": 2,\n          \"errors\": []\n        },\n        \"edge_types.json\": {\n          \"valid\": 2,\n          \"errors\": []\n        },\n        \"procedures.json\": {\n          \"valid\": 1,\n          \"errors\": []\n        },\n        \"checkpoints.json\": {\n          \"valid\": 1,\n          \"errors\": []\n        },\n        \"packet_templates.json\": {\n          \"valid\": 1,\n          \"errors\": [\n            \"research_claim: references unknown checkpoint 'missing_checkpoint.v1'.\"\n          ]\n        },\n        \"seed_data.json\": {\n          \"valid\": 2,\n          \"errors\": []\n        }\n      },\n      \"warnings\": [],\n      \"errors\": [\n        \"packet_templates.json: research_claim: references unknown checkpoint 'missing_checkpoint.v1'.\"\n      ]\n    },\n    \"missing_checkpoint_file\": {\n      \"pack_name\": \"research_notes\",\n      \"passed\": false,\n      \"files\": {\n        \"pack_manifest.json\": {\n          \"valid\": 1,\n          \"errors\": []\n        },\n        \"node_types.json\": {\n          \"valid\": 2,\n          \"errors\": []\n        },\n        \"edge_types.json\": {\n          \"valid\": 2,\n          \"errors\": []\n        },\n        \"procedures.json\": {\n          \"valid\": 1,\n          \"errors\": []\n        },\n        \"packet_templates.json\": {\n          \"valid\": 1,\n          \"errors\": [\n            \"research_claim: references unknown checkpoint 'verify_evidence_link.v1'.\"\n          ]\n        },\n        \"seed_data.json\": {\n          \"valid\": 2,\n          \"errors\": []\n        }\n      },\n      \"warnings\": [],\n      \"errors\": [\n        \"packet_templates.json: research_claim: references unknown checkpoint 'verify_evidence_link.v1'.\"\n      ]\n    },\n    \"non_object_definition\": {\n      \"pack_name\": \"research_notes\",\n      \"passed\": false,\n      \"files\": {\n        \"pack_manifest.json\": {\n          \"valid\": 1,\n          \"errors\": []\n        },\n        \"node_types.json\": {\n          \"valid\": 0,\n          \"errors\": [\n            \"definitions must be an array of objects\"\n          ]\n        },\n        \"edge_types.json\": {\n          \"valid\": 2,\n          \"errors\": []\n        },\n        \"procedures.json\": {\n          \"valid\": 1,\n          \"errors\": []\n        },\n        \"checkpoints.json\": {\n          \"valid\": 1,\n          \"errors\": []\n        },\n        \"packet_templates.json\": {\n          \"valid\": 1,\n          \"errors\": []\n        },\n        \"seed_data.json\": {\n          \"valid\": 2,\n          \"errors\": []\n        }\n      },\n      \"warnings\": [\n        \"seed_data.json: node 'Research Atlas' has type 'research_domain' not defined in node_types.json\",\n        \"seed_data.json: node 'Research Notes' has type 'research_domain' not defined in node_types.json\"\n      ],\n      \"errors\": [\n        \"node_types.json: definitions must be an array of objects\"\n      ]\n    }\n  }\n}",
        "setup": "From the repository root, follow the dependency requirements in the README. This example uses supplied synthetic material.",
        "command": "python -m pip install -e .\npython -m examples.walkthrough",
        "success": "The original pack passes; the changed template reports its unknown checkpoint."
      },
      "family_ids": [
        "atlas"
      ],
      "lineage": {
        "package_kind": "focused_extraction",
        "package_kind_label": "Focused extraction",
        "origin_summary": "Domain-pack authoring and validation boundary from Atlas Kernel.",
        "public_package_changes": "Packages the contract and validator for authors and CI without a database runtime.",
        "boundary": "Atlas Kernel retains its own validator; the smaller package is not a required replacement dependency.",
        "documented_dates": [],
        "relationships": [
          {
            "target": "atlas-kernel",
            "relation": "extracted_from",
            "label": "Source workbench / parent system",
            "visitor_value": "See the integrated setting from which this independently useful mechanism was separated.",
            "caveat": "The full kernel retains the validator and stays self-contained.",
            "sources": [
              "https://github.com/CinvanaAI/atlas-domain-pack-sdk/blob/8155365711c5b8a44d50411543d54af47f707be6/ORIGIN.md#L1-L7"
            ]
          }
        ],
        "sources": [
          "https://github.com/CinvanaAI/atlas-domain-pack-sdk/blob/8155365711c5b8a44d50411543d54af47f707be6/ORIGIN.md#L1-L7"
        ]
      }
    },
    {
      "slug": "atlas-kernel",
      "title": "Atlas Kernel",
      "job": "Take an evidence-backed graph proposal through work packets, review and a recorded commit.",
      "kind": "Workbench",
      "tags": [
        "Data & provenance"
      ],
      "repository": "https://github.com/CinvanaAI/atlas-kernel",
      "mechanism": "Domain meaning is supplied by JSON packs while packet, commit, storage, and rendering mechanisms remain reusable.",
      "scope": "Source with a complete offline example.",
      "limits": [
        "The example candidate is authored locally; no model is called. Mechanical checkpoint success is not proof that a claim is true. The demo uses a temporary SQLite database and removes it after printing the results."
      ],
      "sources": [
        {
          "path": "atlas_kernel/demo.py",
          "label": "Runnable example and its input"
        },
        {
          "path": "examples/result.txt",
          "label": "Complete captured result"
        },
        {
          "path": "atlas_kernel/packet_engine.py",
          "label": "atlas_kernel/packet_engine.py"
        },
        {
          "path": "atlas_kernel/commit_engine.py",
          "label": "atlas_kernel/commit_engine.py"
        },
        {
          "path": "atlas_kernel/repository.py",
          "label": "atlas_kernel/repository.py"
        },
        {
          "path": "tests/test_commit_engine.py",
          "label": "tests/test_commit_engine.py"
        },
        {
          "path": "atlas_kernel/walkthrough.py",
          "label": "Rejected then accepted finding walkthrough"
        },
        {
          "path": "examples/lifecycle-result.json",
          "label": "Full source, proposal and commit trace"
        }
      ],
      "keywords": [
        "knowledge graph",
        "provenance",
        "verified commits"
      ],
      "license": "MIT",
      "example": {
        "title": "See the idea in action.",
        "label": "Recorded synthetic example",
        "output_label": "Captured result",
        "description": "A finding without its evidence edge is rejected. The corrected proposal is committed, and the work packet is completed separately.",
        "input": "A synthetic benchmark report: 18 of 20 checks passed.",
        "output": "{\n  \"source\": {\n    \"id\": \"example-source\",\n    \"source_id\": \"synthetic-benchmark\",\n    \"fragment_index\": 0,\n    \"content\": \"The synthetic benchmark completed 18 of 20 checks in the recorded run.\",\n    \"content_hash\": \"769f4082d6de1dff41ff6ea8951bffb2bf9fbd4e900b2a7c3baa5cac1e5d5078\",\n    \"source_type\": \"benchmark_report\",\n    \"created_at\": \"2026-01-01T00:00:00Z\",\n    \"metadata\": {\n      \"confidence\": 0.9\n    }\n  },\n  \"packet\": {\n    \"detected_type\": \"research_claim\",\n    \"required_checkpoints\": [\n      \"verify_evidence_link.v1\"\n    ],\n    \"required_output_schema\": \"FindingNode\"\n  },\n  \"rejected\": {\n    \"notes\": \"verify_evidence_link.v1: FAIL - No 'derived_from' edge found in proposed_edges \\u2014 evidence link required\",\n    \"status\": \"rejected\",\n    \"graph_writes\": 0\n  },\n  \"accepted_proposal\": {\n    \"nodes\": [\n      {\n        \"id\": \"example-finding\",\n        \"type\": \"finding\",\n        \"name\": \"Synthetic benchmark pass rate\",\n        \"parent_path\": \"Research Atlas > Research Notes\",\n        \"summary\": \"18 / 20 = 90 percent.\",\n        \"confidence\": 0.9,\n        \"domain_pack\": \"research_notes\",\n        \"created_at\": \"2026-01-01T00:00:00Z\",\n        \"updated_at\": \"2026-01-01T00:00:00Z\",\n        \"status\": \"active\"\n      }\n    ],\n    \"edges\": [\n      {\n        \"id\": \"example-evidence-edge\",\n        \"source_node_id\": \"example-finding\",\n        \"target_node_id\": \"example-source\",\n        \"type\": \"derived_from\",\n        \"summary\": \"Evidence is the synthetic benchmark fragment.\",\n        \"created_at\": \"2026-01-01T00:00:00Z\",\n        \"updated_at\": \"2026-01-01T00:00:00Z\",\n        \"status\": \"active\",\n        \"confidence\": 1.0,\n        \"domain_pack\": \"\",\n        \"label\": \"\"\n      }\n    ],\n    \"explanation\": \"Eighteen divided by twenty is 0.9.\"\n  },\n  \"verification\": {\n    \"passed\": true,\n    \"notes\": \"verify_evidence_link.v1: PASS - conditions satisfied\"\n  },\n  \"commit\": {\n    \"nodes\": [\n      \"example-finding\"\n    ],\n    \"edges\": [\n      \"example-evidence-edge\"\n    ],\n    \"candidate_status\": \"committed\"\n  },\n  \"packet_status_after_commit\": \"in_progress\",\n  \"packet_status_after_explicit_completion\": \"completed\",\n  \"network_calls\": 0\n}",
        "setup": "From the repository root, follow the dependency requirements in the README. This example uses supplied synthetic material.",
        "command": "python -m pip install -e .\npython -m atlas_kernel.walkthrough",
        "success": "A finding without its evidence edge is rejected. The corrected proposal is committed, and the work packet is completed separately."
      },
      "family_ids": [
        "atlas"
      ],
      "lineage": {
        "package_kind": "integrated_snapshot",
        "package_kind_label": "Integrated source snapshot",
        "origin_summary": "Generic kernel of a larger private atlas and memory-system experiment.",
        "public_package_changes": "Retains graph, work packets, checkpoints, commits and evidence; uses a synthetic domain pack and fixes SQLite cleanup.",
        "boundary": "The private atlas, memory data and adjacent application layers are outside this snapshot.",
        "documented_dates": [],
        "relationships": [
          {
            "target": "atlas-domain-pack-sdk",
            "relation": "has_extraction",
            "label": "Focused extraction",
            "visitor_value": "Inspect or reuse this boundary without navigating the whole application.",
            "caveat": "The full kernel retains the validator and stays self-contained.",
            "sources": [
              "https://github.com/CinvanaAI/atlas-domain-pack-sdk/blob/8155365711c5b8a44d50411543d54af47f707be6/ORIGIN.md#L1-L7"
            ]
          }
        ],
        "sources": [
          "https://github.com/CinvanaAI/atlas-kernel/blob/a400c4c03ef3faf944c88bc3773d67bcbf524513/ORIGIN.md#L1-L21"
        ]
      }
    },
    {
      "slug": "builder-prototypes",
      "title": "Builder Prototypes",
      "job": "Follow an early builder experiment from a request to a prompt and a chain of registered steps.",
      "kind": "Experiment",
      "tags": [
        "Workflows & capabilities"
      ],
      "repository": "https://github.com/CinvanaAI/builder-prototypes",
      "mechanism": "Explicit step registration replaces ambient imports; evidence records bounded type/size/status instead of indiscriminate payloads.",
      "scope": "An executable experiment using supplied synthetic inputs.",
      "limits": [
        "These are executable representatives of an earlier builder experiment. They do not generate software or contact a model. The caller supplies the callable registry; the runner is not an execution sandbox."
      ],
      "sources": [
        {
          "path": "examples/walkthrough.py",
          "label": "Runnable example and its input"
        },
        {
          "path": "examples/result.txt",
          "label": "Complete captured result"
        },
        {
          "path": "builder_prototypes/intake.py",
          "label": "builder_prototypes/intake.py"
        },
        {
          "path": "builder_prototypes/prompting.py",
          "label": "builder_prototypes/prompting.py"
        },
        {
          "path": "builder_prototypes/runner.py",
          "label": "builder_prototypes/runner.py"
        },
        {
          "path": "examples/demo.py",
          "label": "examples/demo.py"
        },
        {
          "path": "tests/test_builder.py",
          "label": "tests/test_builder.py"
        }
      ],
      "keywords": [
        "builder experiments",
        "prompt assembly",
        "bounded execution"
      ],
      "license": "MIT",
      "example": {
        "title": "See the idea in action.",
        "label": "Recorded synthetic example",
        "output_label": "Captured result",
        "description": "An inspectable queued request, an ordered prompt, a measured prompt length, and a failed result naming the unregistered step.",
        "input": "Describe the files for a tiny greeting project.",
        "output": "{\n  \"queued_file\": \"20260101T000000Z_example_describe_demo.json\",\n  \"intake\": {\n    \"fields\": {\n      \"assignment\": \"Describe the required files.\",\n      \"summary\": \"A tiny offline project with one greeting function.\"\n    },\n    \"project_name\": \"greeting\",\n    \"task_type\": \"describe\",\n    \"user\": \"example\"\n  },\n  \"prompt\": \"## System summary\\nA tiny offline project with one greeting function.\\n\\n## Assignment\\nDescribe the required files.\",\n  \"execution\": {\n    \"status\": \"complete\",\n    \"payload\": {\n      \"prompt\": \"## System summary\\nA tiny offline project with one greeting function.\\n\\n## Assignment\\nDescribe the required files.\",\n      \"measurement\": {\n        \"characters\": 112\n      },\n      \"summary\": {\n        \"measured\": 112,\n        \"summary\": \"Measurement: {\\\"characters\\\": 112}\"\n      }\n    },\n    \"context\": {},\n    \"evidence\": [\n      {\n        \"index\": 0,\n        \"step\": \"measure\",\n        \"status\": \"complete\",\n        \"output_type\": \"dict\",\n        \"output_bytes\": 19,\n        \"error_type\": null,\n        \"error_message\": null\n      },\n      {\n        \"index\": 1,\n        \"step\": \"summarize\",\n        \"status\": \"complete\",\n        \"output_type\": \"dict\",\n        \"output_bytes\": 66,\n        \"error_type\": null,\n        \"error_message\": null\n      }\n    ]\n  },\n  \"unknown_step\": {\n    \"status\": \"failed\",\n    \"payload\": {},\n    \"context\": {},\n    \"evidence\": [\n      {\n        \"index\": 0,\n        \"step\": \"unregistered\",\n        \"status\": \"failed\",\n        \"output_type\": null,\n        \"output_bytes\": null,\n        \"error_type\": \"KeyError\",\n        \"error_message\": \"'unregistered step: unregistered'\"\n      }\n    ]\n  }\n}",
        "setup": "From the repository root, follow the dependency requirements in the README. This example uses supplied synthetic material.",
        "command": "python -m pip install -e .\npython -m examples.walkthrough",
        "success": "An inspectable queued request, an ordered prompt, a measured prompt length, and a failed result naming the unregistered step."
      },
      "family_ids": [
        "builder-foundry"
      ],
      "lineage": {
        "package_kind": "public_continuation",
        "package_kind_label": "Public continuation",
        "origin_summary": "The spine and telephone ideas from a June 2025 Builder experiment.",
        "public_package_changes": "Reimplements the authored orchestration ideas with explicit boundaries; the raw mixed-provenance working tree is not copied.",
        "boundary": "Executable representatives of the older ideas, not the complete historical Builder.",
        "documented_dates": [
          {
            "value": "2025-06",
            "precision": "month",
            "scope": "Historical Builder spine/telephone experiment; not the public continuation publication date.",
            "is_project_start": false,
            "sources": [
              "https://github.com/CinvanaAI/builder-prototypes/blob/a8243e70cde2243e077433211ab34844ed219f47/ORIGIN.md#L3-L3"
            ]
          }
        ],
        "relationships": [
          {
            "target": "fungus-observability",
            "relation": "shared_historical_project",
            "label": "Builder recording experiment",
            "visitor_value": "Inspect the separately continued recording and observability idea.",
            "caveat": "No installed-code dependency is claimed.",
            "sources": [
              "https://github.com/CinvanaAI/fungus-observability/blob/53de321d4a353e655504f8c5ad2d21ca16aa8acb/ORIGIN.md#L1-L7",
              "https://github.com/CinvanaAI/builder-prototypes/blob/a8243e70cde2243e077433211ab34844ed219f47/ORIGIN.md#L1-L7"
            ]
          }
        ],
        "sources": [
          "https://github.com/CinvanaAI/builder-prototypes/blob/a8243e70cde2243e077433211ab34844ed219f47/ORIGIN.md#L1-L7"
        ]
      }
    },
    {
      "slug": "capability-graph-importer",
      "title": "Capability Graph Importer",
      "job": "Turn capability packages and Foundry blueprints into a graph plan you can inspect before importing.",
      "kind": "Tool",
      "tags": [
        "Workflows & capabilities",
        "Data & provenance"
      ],
      "repository": "https://github.com/CinvanaAI/capability-graph-importer",
      "mechanism": "Conflicting duplicate definitions require an explicit preference and can retain the conflicting sources.",
      "scope": "Source with a complete offline example.",
      "limits": [
        "This emits a plan; it does not execute package logic or write a graph database. In-memory records without source evidence keep an empty provenance list. A hash identifies the input bytes, not their correctness."
      ],
      "sources": [
        {
          "path": "examples/walkthrough.py",
          "label": "Runnable example and its input"
        },
        {
          "path": "examples/result.txt",
          "label": "Complete captured result"
        },
        {
          "path": "capability_graph_importer/core.py",
          "label": "capability_graph_importer/core.py"
        },
        {
          "path": "capability_graph_importer/cli.py",
          "label": "capability_graph_importer/cli.py"
        },
        {
          "path": "examples/normalize.package.json",
          "label": "examples/normalize.package.json"
        },
        {
          "path": "examples/format.blueprint.txt",
          "label": "examples/format.blueprint.txt"
        },
        {
          "path": "tests/test_core.py",
          "label": "tests/test_core.py"
        },
        {
          "path": "examples/conflict-result.json",
          "label": "Conflicting inputs and preserved evidence"
        }
      ],
      "keywords": [
        "capability graphs",
        "import",
        "provenance"
      ],
      "license": "MIT",
      "example": {
        "title": "See the idea in action.",
        "label": "Recorded synthetic example",
        "output_label": "Captured result",
        "description": "Two packages, ten nodes, eight edges, and the exact source filenames and SHA-256 hashes in the final plan.",
        "input": "Normalize Text as JSON and Format Name as a historical-style text blueprint.",
        "output": "{\n  \"schema_version\": \"capability-graph.plan.v1\",\n  \"source_label\": \"Synthetic Packages\",\n  \"nodes\": [\n    {\n      \"id\": \"package:Format Name\",\n      \"label\": \"Package\",\n      \"properties\": {\n        \"name\": \"Format Name\",\n        \"source\": \"Synthetic Packages\"\n      }\n    },\n    {\n      \"id\": \"logic:Format Name\",\n      \"label\": \"Logic\",\n      \"properties\": {\n        \"package_name\": \"Format Name\",\n        \"source\": \"def format_name(value):\\n    return value.strip().title()\"\n      }\n    },\n    {\n      \"id\": \"argument:Format Name:value\",\n      \"label\": \"Argument\",\n      \"properties\": {\n        \"name\": \"value\",\n        \"record\": {\n          \"name\": \"value\"\n        }\n      }\n    },\n    {\n      \"id\": \"return:Format Name:formatted\",\n      \"label\": \"Return\",\n      \"properties\": {\n        \"name\": \"formatted\",\n        \"record\": {\n          \"name\": \"formatted\"\n        }\n      }\n    },\n    {\n      \"id\": \"recognition:Format Name:synthetic-example\",\n      \"label\": \"Recognition\",\n      \"properties\": {\n        \"name\": \"synthetic-example\",\n        \"record\": {\n          \"name\": \"synthetic-example\"\n        }\n      }\n    },\n    {\n      \"id\": \"package:Normalize Text\",\n      \"label\": \"Package\",\n      \"properties\": {\n        \"name\": \"Normalize Text\",\n        \"source\": \"Synthetic Packages\"\n      }\n    },\n    {\n      \"id\": \"logic:Normalize Text\",\n      \"label\": \"Logic\",\n      \"properties\": {\n        \"package_name\": \"Normalize Text\",\n        \"source\": \"def normalize(value):\\n    return value.strip().lower()\"\n      }\n    },\n    {\n      \"id\": \"argument:Normalize Text:value\",\n      \"label\": \"Argument\",\n      \"properties\": {\n        \"name\": \"value\",\n        \"record\": {\n          \"name\": \"value\"\n        }\n      }\n    },\n    {\n      \"id\": \"return:Normalize Text:normalized\",\n      \"label\": \"Return\",\n      \"properties\": {\n        \"name\": \"normalized\",\n        \"record\": {\n          \"name\": \"normalized\"\n        }\n      }\n    },\n    {\n      \"id\": \"recognition:Normalize Text:synthetic-example\",\n      \"label\": \"Recognition\",\n      \"properties\": {\n        \"name\": \"synthetic-example\",\n        \"record\": {\n          \"name\": \"synthetic-example\"\n        }\n      }\n    }\n  ],\n  \"edges\": [\n    {\n      \"from\": \"package:Format Name\",\n      \"type\": \"HAS_LOGIC\",\n      \"to\": \"logic:Format Name\"\n    },\n    {\n      \"from\": \"package:Format Name\",\n      \"type\": \"HAS_ARGUMENT\",\n      \"to\": \"argument:Format Name:value\"\n    },\n    {\n      \"from\": \"package:Format Name\",\n      \"type\": \"HAS_RETURN\",\n      \"to\": \"return:Format Name:formatted\"\n    },\n    {\n      \"from\": \"package:Format Name\",\n      \"type\": \"USES_RECOGNITION\",\n      \"to\": \"recognition:Format Name:synthetic-example\"\n    },\n    {\n      \"from\": \"package:Normalize Text\",\n      \"type\": \"HAS_LOGIC\",\n      \"to\": \"logic:Normalize Text\"\n    },\n    {\n      \"from\": \"package:Normalize Text\",\n      \"type\": \"HAS_ARGUMENT\",\n      \"to\": \"argument:Normalize Text:value\"\n    },\n    {\n      \"from\": \"package:Normalize Text\",\n      \"type\": \"HAS_RETURN\",\n      \"to\": \"return:Normalize Text:normalized\"\n    },\n    {\n      \"from\": \"package:Normalize Text\",\n      \"type\": \"USES_RECOGNITION\",\n      \"to\": \"recognition:Normalize Text:synthetic-example\"\n    }\n  ],\n  \"provenance\": {\n    \"package:Format Name\": [\n      {\n        \"source_type\": \"blueprint\",\n        \"source_file\": \"format.blueprint.txt\",\n        \"source_sha256\": \"beb4cf17f0fcd9b2f00dab8d9be04423213ac98856a2fc5ccce462e908780ac7\"\n      }\n    ],\n    \"package:Normalize Text\": [\n      {\n        \"source_type\": \"json\",\n        \"source_file\": \"normalize.package.json\",\n        \"source_sha256\": \"0f408e7fa02525a17f10703fdb5f955e7c914a56145e0e003989bbf1f62f327a\"\n      }\n    ]\n  },\n  \"conflicts\": []\n}",
        "setup": "From the repository root, follow the dependency requirements in the README. This example uses supplied synthetic material.",
        "command": "python -m pip install -e .\npython -m examples.walkthrough",
        "success": "Two packages, ten nodes, eight edges, and the exact source filenames and SHA-256 hashes in the final plan."
      },
      "family_ids": [
        "builder-foundry"
      ],
      "lineage": {
        "package_kind": "public_continuation",
        "package_kind_label": "Public continuation",
        "origin_summary": "Graph-import script in the historical Python Agent Foundry workbench.",
        "public_package_changes": "Rebuilds discovery, merging and graph projection as a deterministic graph plan with source evidence.",
        "boundary": "It ends at a graph plan; the historical direct database writer is not the public interface.",
        "documented_dates": [],
        "relationships": [
          {
            "target": "python-agent-foundry-workbench",
            "relation": "extracted_from",
            "label": "Source workbench / parent system",
            "visitor_value": "See the integrated setting from which this independently useful mechanism was separated.",
            "caveat": "Rebuilt from the historical script; the public interface now emits a plan.",
            "sources": [
              "https://github.com/CinvanaAI/capability-graph-importer/blob/7229972728d11ae97d2256ef54fd6f24412612a6/ORIGIN.md#L1-L3"
            ]
          }
        ],
        "sources": [
          "https://github.com/CinvanaAI/capability-graph-importer/blob/7229972728d11ae97d2256ef54fd6f24412612a6/ORIGIN.md#L1-L3"
        ]
      }
    },
    {
      "slug": "chatgpt-export-to-conversation-engine",
      "title": "ChatGPT Export Archive and Migration Toolkit",
      "job": "Keep exported conversations, identify duplicate copies and prepare bounded migration batches.",
      "kind": "Tool",
      "tags": [
        "Conversations & archives"
      ],
      "repository": "https://github.com/CinvanaAI/chatgpt-export-to-conversation-engine",
      "mechanism": "Same-ID variants are preserved as evidence instead of being silently overwritten or merged into one claimed truth.",
      "scope": "Source with a complete offline example.",
      "limits": [
        "The example never deposits anything. Deposit and reconciliation require a compatible Conversation Engine checkout and were not exercised here. Real export output contains private content and metadata. On Windows, deep paths need extended-length paths or a short work root."
      ],
      "sources": [
        {
          "path": "examples/walkthrough.py",
          "label": "Runnable example and its input"
        },
        {
          "path": "examples/result.txt",
          "label": "Complete captured result"
        },
        {
          "path": "archive_mutation_extract.py",
          "label": "archive_mutation_extract.py"
        },
        {
          "path": "archive_to_ce_envelopes.py",
          "label": "archive_to_ce_envelopes.py"
        },
        {
          "path": "review_archive_mutation.py",
          "label": "review_archive_mutation.py"
        },
        {
          "path": "tests/test_migration.py",
          "label": "tests/test_migration.py"
        }
      ],
      "keywords": [
        "export migration",
        "variants",
        "provenance"
      ],
      "license": "MIT",
      "example": {
        "title": "See the idea in action.",
        "label": "Recorded synthetic example",
        "output_label": "Captured result",
        "description": "Two retained variants, one skipped duplicate, four tracked messages, a two-message prepared batch, and a blocked second batch.",
        "input": "Three invented export objects: an original, an exact duplicate, and a changed answer with the same conversation ID.",
        "output": "Indexed conversations-2.json: objects=1 new_unique=1 exact_duplicates=0\nIndexed conversations.json: objects=2 new_unique=1 exact_duplicates=1\n{\n  \"source_objects\": 3,\n  \"canonical_variants\": 2,\n  \"exact_duplicates_skipped\": 1,\n  \"tracked_messages\": 4,\n  \"preview_status\": \"dry_run\",\n  \"batch_status\": \"prepared\",\n  \"batch_messages\": 2,\n  \"speakers\": [\n    \"Assistant\",\n    \"User\"\n  ],\n  \"next_batch_status\": \"blocked_by_open_batch\",\n  \"deposit_executed\": false,\n  \"synthetic_variants\": [\n    {\n      \"id\": \"synthetic-conversation\",\n      \"question\": \"A synthetic question?\",\n      \"answer\": \"A synthetic answer.\"\n    },\n    {\n      \"id\": \"synthetic-conversation\",\n      \"question\": \"A synthetic question?\",\n      \"answer\": \"A different synthetic answer.\"\n    }\n  ],\n  \"prepared_message_bodies\": [\n    {\n      \"speaker\": \"User\",\n      \"timestamp\": \"2023-11-14T22:13:21+00:00\",\n      \"text\": \"A synthetic question?\"\n    },\n    {\n      \"speaker\": \"Assistant\",\n      \"timestamp\": \"2023-11-14T22:13:22+00:00\",\n      \"text\": \"A synthetic answer.\"\n    }\n  ]\n}",
        "setup": "From the repository root, follow the dependency requirements in the README. This example uses supplied synthetic material.",
        "command": "python -m pip install -e .\npython -m examples.walkthrough",
        "success": "Two retained variants, one skipped duplicate, four tracked messages, a two-message prepared batch, and a blocked second batch."
      },
      "family_ids": [
        "conversation-archive"
      ],
      "lineage": {
        "package_kind": "focused_extraction",
        "package_kind_label": "Focused extraction",
        "origin_summary": "Archive Mutation migration workflow for ChatGPT exports and Conversation Engine envelopes.",
        "public_package_changes": "Keeps inspection, variants, deduplication and batch state; replaces machine paths and personal role labels.",
        "boundary": "It stands alone; optional deposit and reconciliation require the separate Conversation Engine.",
        "documented_dates": [],
        "relationships": [
          {
            "target": "cinvana-conversation-engine",
            "relation": "interoperates_with",
            "label": "Optional envelope destination",
            "visitor_value": "Continue from reviewed exports into the documented Conversation Engine deposit/reconciliation path.",
            "caveat": "Interoperation is explicit; it is not code ancestry or a mandatory dependency for inspection/extraction.",
            "sources": [
              "https://github.com/CinvanaAI/chatgpt-export-to-conversation-engine/blob/93963b5b262d5581464db34f26c543ebb039ff2a/ORIGIN.md#L21-L21"
            ]
          }
        ],
        "sources": [
          "https://github.com/CinvanaAI/chatgpt-export-to-conversation-engine/blob/93963b5b262d5581464db34f26c543ebb039ff2a/ORIGIN.md#L1-L21"
        ]
      }
    },
    {
      "slug": "conversation-target-tagger",
      "title": "Conversation Target Tagger",
      "job": "Label who or what a message is about while keeping the conversation context that explains it.",
      "kind": "Tool",
      "tags": [
        "Models & evaluation",
        "Conversations & archives"
      ],
      "repository": "https://github.com/CinvanaAI/conversation-target-tagger",
      "mechanism": "Strict one-result-per-message alignment while retaining non-mainline, hidden, and empty exported nodes.",
      "scope": "Source with a complete offline example.",
      "limits": [
        "The callback always returns the same target and is not a classification benchmark. Live labels are model judgments. The library example prints synthetic text; the production CLI omits content by default. A live Ollama call was not tested."
      ],
      "sources": [
        {
          "path": "examples/offline_demo.py",
          "label": "Runnable example and its input"
        },
        {
          "path": "examples/result.txt",
          "label": "Complete captured result"
        },
        {
          "path": "conversation_target_tagger/normalize.py",
          "label": "conversation_target_tagger/normalize.py"
        },
        {
          "path": "conversation_target_tagger/tagging.py",
          "label": "conversation_target_tagger/tagging.py"
        },
        {
          "path": "conversation_target_tagger/ollama.py",
          "label": "conversation_target_tagger/ollama.py"
        },
        {
          "path": "tests/test_target_tagger.py",
          "label": "tests/test_target_tagger.py"
        }
      ],
      "keywords": [
        "conversation",
        "classification",
        "local AI"
      ],
      "license": "MIT",
      "example": {
        "title": "See the idea in action.",
        "label": "Recorded synthetic example",
        "output_label": "Captured result",
        "description": "Three chronologically indexed messages with project:GardenWatch labels from the declared demo callback.",
        "input": "The supplied synthetic GardenWatch conversations.",
        "output": "[\n  {\n    \"conversation_id\": \"conversation-mapping\",\n    \"conversation_title\": \"Workshop notes\",\n    \"conversation_create_time\": 90,\n    \"conversation_create_time_iso\": \"1970-01-01T00:01:30Z\",\n    \"node_id\": \"old-1\",\n    \"parent_id\": null,\n    \"children_ids\": [],\n    \"role\": \"user\",\n    \"sender\": \"User\",\n    \"create_time\": 101,\n    \"create_time_iso\": \"1970-01-01T00:01:41Z\",\n    \"content_type\": \"text\",\n    \"content_parts\": [\n      \"Put the soldering station in the workshop.\"\n    ],\n    \"content_text\": \"Put the soldering station in the workshop.\",\n    \"hidden\": false,\n    \"model_slug\": null,\n    \"status\": null,\n    \"end_turn\": null,\n    \"sequence_in_conversation\": 1,\n    \"conversation_index\": 2,\n    \"sort_timestamp\": 101.0,\n    \"gidx\": 1,\n    \"targets\": [\n      \"place:Workshop\"\n    ]\n  },\n  {\n    \"conversation_id\": \"conversation-new\",\n    \"conversation_title\": \"Garden sensor\",\n    \"conversation_create_time\": 100,\n    \"conversation_create_time_iso\": \"1970-01-01T00:01:40Z\",\n    \"node_id\": \"new-1\",\n    \"parent_id\": null,\n    \"children_ids\": [],\n    \"role\": \"user\",\n    \"sender\": \"User\",\n    \"create_time\": 102,\n    \"create_time_iso\": \"1970-01-01T00:01:42Z\",\n    \"content_type\": \"text\",\n    \"content_parts\": [\n      \"Could the GardenWatch project record soil moisture?\"\n    ],\n    \"content_text\": \"Could the GardenWatch project record soil moisture?\",\n    \"hidden\": false,\n    \"model_slug\": null,\n    \"status\": null,\n    \"end_turn\": null,\n    \"sequence_in_conversation\": 1,\n    \"conversation_index\": 1,\n    \"sort_timestamp\": 102.0,\n    \"gidx\": 2,\n    \"targets\": [\n      \"project:GardenWatch\"\n    ]\n  },\n  {\n    \"conversation_id\": \"conversation-new\",\n    \"conversation_title\": \"Garden sensor\",\n    \"conversation_create_time\": 100,\n    \"conversation_create_time_iso\": \"1970-01-01T00:01:40Z\",\n    \"node_id\": \"new-2\",\n    \"parent_id\": null,\n    \"children_ids\": [],\n    \"role\": \"assistant\",\n    \"sender\": \"Assistant\",\n    \"create_time\": 103,\n    \"create_time_iso\": \"1970-01-01T00:01:43Z\",\n    \"content_type\": \"text\",\n    \"content_parts\": [\n      \"Yes, the sensor can publish a bounded reading.\"\n    ],\n    \"content_text\": \"Yes, the sensor can publish a bounded reading.\",\n    \"hidden\": false,\n    \"model_slug\": null,\n    \"status\": null,\n    \"end_turn\": null,\n    \"sequence_in_conversation\": 2,\n    \"conversation_index\": 1,\n    \"sort_timestamp\": 103.0,\n    \"gidx\": 3,\n    \"targets\": [\n      \"project:GardenWatch\"\n    ]\n  }\n]",
        "setup": "From the repository root, follow the dependency requirements in the README. This example uses supplied synthetic material.",
        "command": "python -m pip install -e .\npython -m examples.offline_demo",
        "success": "Three chronologically indexed messages with project:GardenWatch labels from the declared demo callback."
      },
      "family_ids": [],
      "lineage": {
        "package_kind": "public_continuation",
        "package_kind_label": "Public continuation",
        "origin_summary": "A September 2025 chronological-target tagging script beside a ChatGPT export experiment.",
        "public_package_changes": "Separates normalization, batching, validation, transport and CLI; adds bounded context, local defaults and safe output.",
        "boundary": "Shared subject matter with other conversation tools does not establish code ancestry or plug-in compatibility.",
        "documented_dates": [
          {
            "value": "2025-09",
            "precision": "month",
            "scope": "Historical chronological target script.",
            "is_project_start": false,
            "sources": [
              "https://github.com/CinvanaAI/conversation-target-tagger/blob/08dbf6e3b4820ac8fb2b8e8b3cb2804cc06aad20/ORIGIN.md#L3-L3"
            ]
          }
        ],
        "relationships": [],
        "sources": [
          "https://github.com/CinvanaAI/conversation-target-tagger/blob/08dbf6e3b4820ac8fb2b8e8b3cb2804cc06aad20/ORIGIN.md#L1-L7"
        ]
      }
    },
    {
      "slug": "dice-expression-extractor",
      "title": "Dice Expression Extractor",
      "job": "Find dice expressions in JSON and keep the field, action and record each one belongs to.",
      "kind": "Tool",
      "tags": [
        "Data & provenance",
        "Games & interaction"
      ],
      "repository": "https://github.com/CinvanaAI/dice-expression-extractor",
      "mechanism": "Field-aware extraction deliberately ignores dice-like prose and retains JSON-path/action context.",
      "scope": "Source with a complete offline example.",
      "limits": [
        "This extracts expressions; it does not roll dice or interpret a complete rules system. Recognition is bounded to its supported notation and field hints. No downloaded rules database is included."
      ],
      "sources": [
        {
          "path": "examples/walkthrough.py",
          "label": "Runnable example and its input"
        },
        {
          "path": "examples/result.txt",
          "label": "Complete captured result"
        },
        {
          "path": "dice_expression_extractor/core.py",
          "label": "dice_expression_extractor/core.py"
        },
        {
          "path": "dice_expression_extractor/cli.py",
          "label": "dice_expression_extractor/cli.py"
        },
        {
          "path": "examples/synthetic_record.json",
          "label": "examples/synthetic_record.json"
        },
        {
          "path": "tests/test_core.py",
          "label": "tests/test_core.py"
        },
        {
          "path": "ORIGIN.md",
          "label": "ORIGIN.md"
        }
      ],
      "keywords": [
        "dice",
        "structured extraction",
        "graph projection"
      ],
      "license": "MIT",
      "example": {
        "title": "See the idea in action.",
        "label": "Recorded synthetic example",
        "output_label": "Captured result",
        "description": "Two expressions, their exact JSON paths, their hit-dice/damage roles, and graph rows carrying the Gear Spark context.",
        "input": "An invented Clockwork Mote with hit_dice 2d4+2 and Gear Spark damage 1d6+1.",
        "output": "{\n  \"input\": {\n    \"name\": \"Clockwork Mote\",\n    \"hit_dice\": \"2d4+2\",\n    \"actions\": [\n      {\n        \"name\": \"Gear Spark\",\n        \"damage\": [\n          {\n            \"damage_dice\": \"1d6+1\"\n          }\n        ]\n      }\n    ],\n    \"description\": \"Flavor text mentioning 20d20 is deliberately ignored.\"\n  },\n  \"extracted\": [\n    {\n      \"expression\": \"2d4+2\",\n      \"normalized_expression\": \"2d4+2\",\n      \"quantity\": 2,\n      \"sides\": 4,\n      \"modifier\": 2,\n      \"field_path\": \"$.hit_dice\",\n      \"roll_type\": \"hit_dice\",\n      \"context\": null\n    },\n    {\n      \"expression\": \"1d6+1\",\n      \"normalized_expression\": \"1d6+1\",\n      \"quantity\": 1,\n      \"sides\": 6,\n      \"modifier\": 1,\n      \"field_path\": \"$.actions[0].damage[0].damage_dice\",\n      \"roll_type\": \"damage\",\n      \"context\": \"Gear Spark\"\n    }\n  ],\n  \"graph_rows\": [\n    {\n      \"record_id\": \"synthetic:clockwork-mote\",\n      \"graph_id\": \"synthetic\",\n      \"die_id\": \"synthetic:d4\",\n      \"dice_id\": \"synthetic:2d4+2\",\n      \"expression\": \"2d4+2\",\n      \"normalized_expression\": \"2d4+2\",\n      \"quantity\": 2,\n      \"sides\": 4,\n      \"modifier\": 2,\n      \"field_path\": \"$.hit_dice\",\n      \"roll_type\": \"hit_dice\",\n      \"context\": null\n    },\n    {\n      \"record_id\": \"synthetic:clockwork-mote\",\n      \"graph_id\": \"synthetic\",\n      \"die_id\": \"synthetic:d6\",\n      \"dice_id\": \"synthetic:1d6+1\",\n      \"expression\": \"1d6+1\",\n      \"normalized_expression\": \"1d6+1\",\n      \"quantity\": 1,\n      \"sides\": 6,\n      \"modifier\": 1,\n      \"field_path\": \"$.actions[0].damage[0].damage_dice\",\n      \"roll_type\": \"damage\",\n      \"context\": \"Gear Spark\"\n    }\n  ]\n}",
        "setup": "From the repository root, follow the dependency requirements in the README. This example uses supplied synthetic material.",
        "command": "python -m pip install -e .\npython -m examples.walkthrough",
        "success": "Two expressions, their exact JSON paths, their hit-dice/damage roles, and graph rows carrying the Gear Spark context."
      },
      "family_ids": [
        "dnd-graph"
      ],
      "lineage": {
        "package_kind": "focused_extraction",
        "package_kind_label": "Focused extraction",
        "origin_summary": "Dice subsystem from the DnDGraph experiment.",
        "public_package_changes": "Removes the embedded database connection and credential; emits pure results and optional graph rows.",
        "boundary": "It is independently useful; no Neo4j writer or full D&D rules implementation is implied.",
        "documented_dates": [],
        "relationships": [
          {
            "target": "dnd5e-graph-etl",
            "relation": "shared_historical_project",
            "label": "DnDGraph sibling",
            "visitor_value": "See the broader ETL or focused dice boundary from the same experiment.",
            "caveat": "Shared source experiment; not proof of current code dependency.",
            "sources": [
              "https://github.com/CinvanaAI/dice-expression-extractor/blob/c6863a4ec63cbe9eba4f97662d35b45d959b1f22/ORIGIN.md#L1-L3",
              "https://github.com/CinvanaAI/dnd5e-graph-etl/blob/49bd4e31675949257ee9e89f44f2271b80dd3491/ORIGIN.md#L1-L6"
            ]
          }
        ],
        "sources": [
          "https://github.com/CinvanaAI/dice-expression-extractor/blob/c6863a4ec63cbe9eba4f97662d35b45d959b1f22/ORIGIN.md#L1-L3"
        ]
      }
    },
    {
      "slug": "discord-activity-privacy-core",
      "title": "Discord Activity Privacy Core",
      "job": "Decide what an activity policy permits, then minimize retained records and plan expiry.",
      "kind": "Library",
      "tags": [
        "Conversations & archives",
        "Games & interaction"
      ],
      "repository": "https://github.com/CinvanaAI/discord-activity-privacy-core",
      "mechanism": "Collection defaults off, requires both guild/actor consent, pseudonymizes references, and separates backfill planning from execution.",
      "scope": "Source with a complete offline example.",
      "limits": [
        "There is no Discord adapter, storage layer, or network call. Keyed references are pseudonyms, not anonymity. An adapter still owns permissions, deletion, consent withdrawal, and storage."
      ],
      "sources": [
        {
          "path": "examples/demo.ts",
          "label": "Runnable example and its input"
        },
        {
          "path": "examples/result.txt",
          "label": "Complete captured result"
        },
        {
          "path": "src/archive.ts",
          "label": "src/archive.ts"
        },
        {
          "path": "src/backfill.ts",
          "label": "src/backfill.ts"
        },
        {
          "path": "src/retention.ts",
          "label": "src/retention.ts"
        },
        {
          "path": "src/privacy.ts",
          "label": "src/privacy.ts"
        },
        {
          "path": "tests/archive.test.ts",
          "label": "tests/archive.test.ts"
        }
      ],
      "keywords": [
        "privacy",
        "consent",
        "Discord"
      ],
      "license": "MIT",
      "example": {
        "title": "See the idea in action.",
        "label": "Recorded synthetic example",
        "output_label": "Captured result",
        "description": "Two rejected decisions, one minimized record with no plaintext, a dry-run backfill plan, and one expired record ID.",
        "input": "One synthetic Discord message event and three policy states.",
        "output": "{\n  \"input\": {\n    \"eventId\": \"event-1\",\n    \"guildId\": \"synthetic-guild\",\n    \"actorId\": \"synthetic-actor\",\n    \"channelId\": \"synthetic-channel\",\n    \"kind\": \"message_created\",\n    \"occurredAt\": \"2026-01-02T03:04:05Z\",\n    \"content\": \"This plaintext is deliberately not retained.\",\n    \"attachmentCount\": 1\n  },\n  \"disabled\": {\n    \"accepted\": false,\n    \"reasons\": [\n      \"archive-disabled\",\n      \"guild-not-allowed\",\n      \"actor-consent-missing\",\n      \"event-kind-not-allowed\",\n      \"pseudonym-key-too-short\"\n    ]\n  },\n  \"missingConsent\": {\n    \"accepted\": false,\n    \"reasons\": [\n      \"actor-consent-missing\"\n    ]\n  },\n  \"accepted\": {\n    \"accepted\": true,\n    \"record\": {\n      \"schemaVersion\": 1,\n      \"recordId\": \"b322de3f49c1771bd1dd76f8\",\n      \"guildRef\": \"9091e479600ff22e9c46d965\",\n      \"actorRef\": \"d005ed00a34cb9a806dceb82\",\n      \"channelRef\": \"648bf417ad9b2ca6a474b30f\",\n      \"kind\": \"message_created\",\n      \"occurredAt\": \"2026-01-02T03:04:05.000Z\",\n      \"attachmentCount\": 1\n    }\n  },\n  \"digestMode\": {\n    \"accepted\": true,\n    \"record\": {\n      \"schemaVersion\": 1,\n      \"recordId\": \"b322de3f49c1771bd1dd76f8\",\n      \"guildRef\": \"9091e479600ff22e9c46d965\",\n      \"actorRef\": \"d005ed00a34cb9a806dceb82\",\n      \"channelRef\": \"648bf417ad9b2ca6a474b30f\",\n      \"kind\": \"message_created\",\n      \"occurredAt\": \"2026-01-02T03:04:05.000Z\",\n      \"attachmentCount\": 1,\n      \"contentLength\": 44,\n      \"contentDigest\": \"1253cd8fee9dd61b032eb43d0f8c7ed318f4c6889940301a5f80ff359ef1da34\"\n    }\n  },\n  \"invalidRetentionBackfill\": {\n    \"status\": \"denied\",\n    \"reasons\": [\n      \"retention-out-of-bounds\"\n    ],\n    \"operations\": [],\n    \"estimatedMaximumMessages\": 0\n  },\n  \"plaintextRetained\": false,\n  \"backfill\": {\n    \"status\": \"dry-run\",\n    \"reasons\": [\n      \"execution-not-requested\"\n    ],\n    \"operations\": [\n      {\n        \"channelRef\": \"648bf417ad9b2ca6a474b30f\",\n        \"maxMessages\": 100\n      }\n    ],\n    \"estimatedMaximumMessages\": 100\n  },\n  \"expiredRecords\": [\n    \"b322de3f49c1771bd1dd76f8\"\n  ],\n  \"discordCalls\": 0\n}",
        "setup": "From the repository root, follow the dependency requirements in the README. This example uses supplied synthetic material.",
        "command": "npm ci\nnpm run demo",
        "success": "Two rejected decisions, one minimized record with no plaintext, a dry-run backfill plan, and one expired record ID."
      },
      "family_ids": [],
      "lineage": {
        "package_kind": "public_continuation",
        "package_kind_label": "Public continuation",
        "origin_summary": "A June 2025 TypeScript/Discord.js activity experiment.",
        "public_package_changes": "Reworks the concept around consent, minimized data, private targets and bounded dry-run-first work.",
        "boundary": "The raw historical implementation and its privacy defaults are not this public package.",
        "documented_dates": [
          {
            "value": "2025-06",
            "precision": "month",
            "scope": "Historical TypeScript/Discord.js source experiment; not the public continuation date.",
            "is_project_start": false,
            "sources": [
              "https://github.com/CinvanaAI/discord-activity-privacy-core/blob/73b76541789b4b043de3754ca28cc3f29894b5fb/ORIGIN.md#L3-L3"
            ]
          }
        ],
        "relationships": [],
        "sources": [
          "https://github.com/CinvanaAI/discord-activity-privacy-core/blob/73b76541789b4b043de3754ca28cc3f29894b5fb/ORIGIN.md#L1-L7"
        ]
      }
    },
    {
      "slug": "discord-topology-reconciler",
      "title": "Discord Topology Reconciler",
      "job": "Plan how an ordered Discord archive should change while reusing existing message slots.",
      "kind": "Library",
      "tags": [
        "Games & interaction"
      ],
      "repository": "https://github.com/CinvanaAI/discord-topology-reconciler",
      "mechanism": "Logical message identity is separate from physical slots, so inserting at the head can reuse existing external message IDs.",
      "scope": "Source with a complete offline example.",
      "limits": [
        "The result is a pure plan. It makes no Discord calls and has no credentials. An API adapter must execute, persist, and reconcile the plan with the real service."
      ],
      "sources": [
        {
          "path": "examples/walkthrough.py",
          "label": "Runnable example and its input"
        },
        {
          "path": "examples/result.txt",
          "label": "Complete captured result"
        },
        {
          "path": "src/discord_reconciler/reconcile.py",
          "label": "src/discord_reconciler/reconcile.py"
        },
        {
          "path": "src/discord_reconciler/governor.py",
          "label": "src/discord_reconciler/governor.py"
        },
        {
          "path": "src/discord_reconciler/cli.py",
          "label": "src/discord_reconciler/cli.py"
        },
        {
          "path": "tests/test_reconcile.py",
          "label": "tests/test_reconcile.py"
        }
      ],
      "keywords": [
        "Discord",
        "desired state",
        "reconciliation"
      ],
      "license": "MIT",
      "example": {
        "title": "See the idea in action.",
        "label": "Recorded synthetic example",
        "output_label": "Captured result",
        "description": "Three edits and one create, preserving the three existing Discord slot IDs.",
        "input": "Published [one, two, three]; desired [new, one, two, three].",
        "output": "{\n  \"before\": [\n    \"one\",\n    \"two\",\n    \"three\"\n  ],\n  \"desired\": [\n    \"new\",\n    \"one\",\n    \"two\",\n    \"three\"\n  ],\n  \"plan\": {\n    \"container_key\": \"synthetic-thread\",\n    \"generation_id\": 2,\n    \"relinks\": [],\n    \"operations\": [\n      {\n        \"operation_id\": \"op_f055a8789afd9353f25e46efcf397088\",\n        \"generation_id\": 2,\n        \"priority\": 50,\n        \"sequence\": 1,\n        \"operation_type\": \"EDIT_MESSAGE\",\n        \"target_key\": \"slot-1\",\n        \"container_key\": \"synthetic-thread\",\n        \"payload\": {\n          \"slot_key\": \"slot-1\",\n          \"message_key\": \"new-1\",\n          \"content_hash\": \"11507a0e2f5e69d5dfa40a62a1bd7b6ee57e6bcd85c67c9b8431b36fff21c437\",\n          \"slot_index\": 1\n        },\n        \"state\": \"pending\"\n      },\n      {\n        \"operation_id\": \"op_16f2afd25b80de10606712b50123ebbb\",\n        \"generation_id\": 2,\n        \"priority\": 50,\n        \"sequence\": 2,\n        \"operation_type\": \"EDIT_MESSAGE\",\n        \"target_key\": \"slot-2\",\n        \"container_key\": \"synthetic-thread\",\n        \"payload\": {\n          \"slot_key\": \"slot-2\",\n          \"message_key\": \"new-2\",\n          \"content_hash\": \"7692c3ad3540bb803c020b3aee66cd8887123234ea0c6e7143c0add73ff431ed\",\n          \"slot_index\": 2\n        },\n        \"state\": \"pending\"\n      },\n      {\n        \"operation_id\": \"op_837252e79cb557041bb8e589997c4878\",\n        \"generation_id\": 2,\n        \"priority\": 50,\n        \"sequence\": 3,\n        \"operation_type\": \"EDIT_MESSAGE\",\n        \"target_key\": \"slot-3\",\n        \"container_key\": \"synthetic-thread\",\n        \"payload\": {\n          \"slot_key\": \"slot-3\",\n          \"message_key\": \"new-3\",\n          \"content_hash\": \"3fc4ccfe745870e2c0d99f71f30ff0656c8dedd41cc1d7d3d376b0dbe685e2f3\",\n          \"slot_index\": 3\n        },\n        \"state\": \"pending\"\n      },\n      {\n        \"operation_id\": \"op_26644e561c31ace17b300fb3d4378583\",\n        \"generation_id\": 2,\n        \"priority\": 51,\n        \"sequence\": 4,\n        \"operation_type\": \"CREATE_MESSAGE\",\n        \"target_key\": \"new-4\",\n        \"container_key\": \"synthetic-thread\",\n        \"payload\": {\n          \"message_key\": \"new-4\",\n          \"content_hash\": \"8b5b9db0c13db24256c829aa364aa90c6d2eba318b9232a4ab9313b954d3555f\",\n          \"slot_index\": 4\n        },\n        \"state\": \"pending\"\n      }\n    ]\n  },\n  \"api_calls\": 0\n}",
        "setup": "From the repository root, follow the dependency requirements in the README. This example uses supplied synthetic material.",
        "command": "python -m pip install -e .\npython -m examples.walkthrough",
        "success": "Three edits and one create, preserving the three existing Discord slot IDs."
      },
      "family_ids": [
        "conversation-archive"
      ],
      "lineage": {
        "package_kind": "focused_extraction",
        "package_kind_label": "Focused extraction",
        "origin_summary": "Desired-state planning and publication-queue ideas from CinvanaAI Discord Engine.",
        "public_package_changes": "Demonstrates retained reconciliation mechanics through a new in-memory contract.",
        "boundary": "It is not a live Discord client and does not carry the parent database or Conversation Engine projection.",
        "documented_dates": [],
        "relationships": [
          {
            "target": "cinvana-discord-engine",
            "relation": "extracted_from",
            "label": "Source workbench / parent system",
            "visitor_value": "See the integrated setting from which this independently useful mechanism was separated.",
            "caveat": "The smaller package re-expresses the retained planning mechanics through a new in-memory contract.",
            "sources": [
              "https://github.com/CinvanaAI/discord-topology-reconciler/blob/9e9a9ba5d135ef78d87be5a2ccf8aeb7b8f0e8d9/ORIGIN.md#L1-L11"
            ]
          }
        ],
        "sources": [
          "https://github.com/CinvanaAI/discord-topology-reconciler/blob/9e9a9ba5d135ef78d87be5a2ccf8aeb7b8f0e8d9/ORIGIN.md#L1-L11"
        ]
      }
    },
    {
      "slug": "dnd5e-graph-etl",
      "title": "D&D 5e Graph ETL",
      "job": "Turn versioned rules JSON into graph records, source references and linked relationships.",
      "kind": "Tool",
      "tags": [
        "Data & provenance",
        "Games & interaction"
      ],
      "repository": "https://github.com/CinvanaAI/dnd5e-graph-etl",
      "mechanism": "Graph-scoped IDs preserve ruleset year/language, canonical raw JSON, and source hashes instead of flattening editions together.",
      "scope": "Source with a complete offline example.",
      "limits": [
        "Planning is offline and does not write Neo4j or download rules. Target language follows the source record because these API URLs do not encode language. Only invented fixtures are included; source-data licenses remain the user's responsibility when supplying another dataset."
      ],
      "sources": [
        {
          "path": "examples/walkthrough.py",
          "label": "Runnable example and its input"
        },
        {
          "path": "examples/result.txt",
          "label": "Complete captured result"
        },
        {
          "path": "dnd5e_graph_etl/core.py",
          "label": "dnd5e_graph_etl/core.py"
        },
        {
          "path": "dnd5e_graph_etl/cli.py",
          "label": "dnd5e_graph_etl/cli.py"
        },
        {
          "path": "tests/test_core.py",
          "label": "tests/test_core.py"
        }
      ],
      "keywords": [
        "graph ETL",
        "rules data",
        "provenance"
      ],
      "license": "MIT",
      "example": {
        "title": "See the idea in action.",
        "label": "Recorded synthetic example",
        "output_label": "Captured result",
        "description": "Two graph-scoped records, one resolved reference edge, and selected monster properties including armor 13 and hit dice 2d4+2.",
        "input": "Two invented records: Clockwork damage and a Clockwork Mote that references it.",
        "output": "{\n  \"schema_version\": \"dnd5e-graph-etl.plan.v1\",\n  \"source_name\": \"Synthetic Rules\",\n  \"files\": [\n    \"2014/en/5e-SRD-Damage-Types.json\",\n    \"2014/en/5e-SRD-Monsters.json\"\n  ],\n  \"records\": [\n    {\n      \"record_id\": \"rules_2014_en:damage_types:clockwork\",\n      \"graph_id\": \"rules_2014_en\",\n      \"source\": \"Synthetic Rules\",\n      \"ruleset_year\": 2014,\n      \"language\": \"en\",\n      \"category\": \"damage_types\",\n      \"index\": \"clockwork\",\n      \"name\": \"Clockwork\",\n      \"full_name\": null,\n      \"source_file\": \"2014/en/5e-SRD-Damage-Types.json\",\n      \"raw_json\": \"{\\\"index\\\":\\\"clockwork\\\",\\\"name\\\":\\\"Clockwork\\\",\\\"url\\\":\\\"/api/2014/damage-types/clockwork\\\"}\",\n      \"raw_sha256\": \"da2e6490c6b29aee61fbd403221eca6befa6ff6a91c009cd8e026008e4d80997\"\n    },\n    {\n      \"record_id\": \"rules_2014_en:monsters:clockwork-mote\",\n      \"graph_id\": \"rules_2014_en\",\n      \"source\": \"Synthetic Rules\",\n      \"ruleset_year\": 2014,\n      \"language\": \"en\",\n      \"category\": \"monsters\",\n      \"index\": \"clockwork-mote\",\n      \"name\": \"Clockwork Mote\",\n      \"full_name\": null,\n      \"source_file\": \"2014/en/5e-SRD-Monsters.json\",\n      \"raw_json\": \"{\\\"alignment\\\":\\\"unaligned\\\",\\\"armor_class\\\":[{\\\"value\\\":13}],\\\"challenge_rating\\\":0.25,\\\"damage_type\\\":{\\\"index\\\":\\\"clockwork\\\",\\\"name\\\":\\\"Clockwork\\\",\\\"url\\\":\\\"/api/2014/damage-types/clockwork\\\"},\\\"hit_dice\\\":\\\"2d4+2\\\",\\\"hit_points\\\":7,\\\"index\\\":\\\"clockwork-mote\\\",\\\"name\\\":\\\"Clockwork Mote\\\",\\\"size\\\":\\\"Tiny\\\",\\\"type\\\":\\\"construct\\\",\\\"xp\\\":50}\",\n      \"raw_sha256\": \"aa916bb95f2e21d323d8869c483c0d717cf1ebb748caef32874de24af4b74516\",\n      \"properties\": {\n        \"monster_size\": \"Tiny\",\n        \"monster_type\": \"construct\",\n        \"monster_alignment\": \"unaligned\",\n        \"armor_class\": 13,\n        \"hit_points\": 7,\n        \"hit_dice\": \"2d4+2\",\n        \"challenge_rating\": 0.25,\n        \"challenge_rating_text\": \"0.25\",\n        \"xp\": 50\n      }\n    }\n  ],\n  \"edges\": [\n    {\n      \"from\": \"rules_2014_en:monsters:clockwork-mote\",\n      \"type\": \"REFERENCES\",\n      \"to\": \"rules_2014_en:damage_types:clockwork\",\n      \"field_path\": \"$.damage_type\",\n      \"target_url\": \"/api/2014/damage-types/clockwork\",\n      \"target_year\": \"2014\",\n      \"target_category\": \"damage_types\",\n      \"target_index\": \"clockwork\",\n      \"target_name\": \"Clockwork\",\n      \"target_present\": true\n    }\n  ]\n}",
        "setup": "From the repository root, follow the dependency requirements in the README. This example uses supplied synthetic material.",
        "command": "python -m pip install -e .\npython -m examples.walkthrough",
        "success": "Two graph-scoped records, one resolved reference edge, and selected monster properties including armor 13 and hit dice 2d4+2."
      },
      "family_ids": [
        "dnd-graph"
      ],
      "lineage": {
        "package_kind": "public_continuation",
        "package_kind_label": "Public continuation",
        "origin_summary": "Four authored DnDGraph scripts covering import, reference linking, monster properties and dice.",
        "public_package_changes": "Rebuilds the ETL boundary without downloaded rules repositories or Neo4j runtime data.",
        "boundary": "The Dice Expression Extractor is a focused sibling from the same experiment, not evidence of an installed dependency.",
        "documented_dates": [],
        "relationships": [
          {
            "target": "dice-expression-extractor",
            "relation": "shared_historical_project",
            "label": "DnDGraph sibling",
            "visitor_value": "See the broader ETL or focused dice boundary from the same experiment.",
            "caveat": "Shared source experiment; not proof of current code dependency.",
            "sources": [
              "https://github.com/CinvanaAI/dnd5e-graph-etl/blob/49bd4e31675949257ee9e89f44f2271b80dd3491/ORIGIN.md#L1-L6",
              "https://github.com/CinvanaAI/dice-expression-extractor/blob/c6863a4ec63cbe9eba4f97662d35b45d959b1f22/ORIGIN.md#L1-L3"
            ]
          }
        ],
        "sources": [
          "https://github.com/CinvanaAI/dnd5e-graph-etl/blob/49bd4e31675949257ee9e89f44f2271b80dd3491/ORIGIN.md#L1-L6"
        ]
      }
    },
    {
      "slug": "provenance-inventory",
      "title": "Provenance Inventory",
      "job": "Count a file collection and find exact duplicates before deciding what to move or index.",
      "kind": "Tool",
      "tags": [
        "Data & provenance"
      ],
      "repository": "https://github.com/CinvanaAI/provenance-inventory",
      "mechanism": "Full-file hashes and immutable run receipts preserve source identity; duplicate detection never implies deletion.",
      "scope": "Source with a complete offline example.",
      "limits": [
        "Duplicate groups are evidence for review, not deletion instructions. Real manifests include paths and timestamps and are not anonymous. Files changing during hashing are reported as errors. Use short or extended paths for deep Windows workspaces."
      ],
      "sources": [
        {
          "path": "examples/walkthrough.py",
          "label": "Runnable example and its input"
        },
        {
          "path": "examples/result.txt",
          "label": "Complete captured result"
        },
        {
          "path": "provenance_inventory/inventory.py",
          "label": "provenance_inventory/inventory.py"
        },
        {
          "path": "examples/sources.example.json",
          "label": "examples/sources.example.json"
        },
        {
          "path": "tests/test_inventory.py",
          "label": "tests/test_inventory.py"
        }
      ],
      "keywords": [
        "file inventory",
        "hashing",
        "duplicates"
      ],
      "license": "MIT",
      "example": {
        "title": "See the idea in action.",
        "label": "Recorded synthetic example",
        "output_label": "Captured result",
        "description": "Three file records, one duplicate pair, one project marker, zero errors, and unchanged source bytes.",
        "input": "Three synthetic files: two identical notes and a project marker.",
        "output": "{\n  \"source_unchanged\": true,\n  \"files\": {\n    \"copy.txt\": \"d137d7338abb45f5c4ddbb49a04e8bbce54054add05622655a27c9684c645e35\",\n    \"one.txt\": \"d137d7338abb45f5c4ddbb49a04e8bbce54054add05622655a27c9684c645e35\",\n    \"pyproject.toml\": \"cf837afc3ffc8810781328700db8a5fc60ff2242e33fb909a94c5df3e46221cf\"\n  },\n  \"summary\": {\n    \"status\": \"complete\",\n    \"file_count\": 3,\n    \"project_marker_count\": 1,\n    \"duplicate_group_count\": 1,\n    \"duplicate_file_count\": 2,\n    \"error_count\": 0\n  },\n  \"manifest_fields\": [\n    \"birth_time_ns\",\n    \"created_or_changed_time_ns\",\n    \"extension\",\n    \"hash_status\",\n    \"is_project_marker\",\n    \"media_kind\",\n    \"mime_hint\",\n    \"modified_time_ns\",\n    \"name\",\n    \"original_path\",\n    \"relative_path\",\n    \"run_id\",\n    \"scanner_version\",\n    \"schema_version\",\n    \"sha256\",\n    \"size_bytes\",\n    \"source_id\",\n    \"source_label\"\n  ]\n}",
        "setup": "From the repository root, follow the dependency requirements in the README. This example uses supplied synthetic material.",
        "command": "python -m pip install -e .\npython -m examples.walkthrough",
        "success": "Three file records, one duplicate pair, one project marker, zero errors, and unchanged source bytes."
      },
      "family_ids": [
        "personal-dashboard"
      ],
      "lineage": {
        "package_kind": "focused_extraction",
        "package_kind_label": "Focused extraction",
        "origin_summary": "Source-census engine from Personal Intelligence Dashboard.",
        "public_package_changes": "Makes the destination an explicit dedicated directory while retaining the read-only provenance rules.",
        "boundary": "The Dashboard keeps its own copy; this package is independently usable.",
        "documented_dates": [],
        "relationships": [
          {
            "target": "personal-intelligence-dashboard",
            "relation": "extracted_from",
            "label": "Source workbench / parent system",
            "visitor_value": "See the integrated setting from which this independently useful mechanism was separated.",
            "caveat": "The parent retains its census implementation; the extract changes the output boundary.",
            "sources": [
              "https://github.com/CinvanaAI/provenance-inventory/blob/9a8531d2692983a86b0feb97c92a02a6f4e465ec/ORIGIN.md#L1-L7"
            ]
          }
        ],
        "sources": [
          "https://github.com/CinvanaAI/provenance-inventory/blob/9a8531d2692983a86b0feb97c92a02a6f4e465ec/ORIGIN.md#L1-L7"
        ]
      }
    },
    {
      "slug": "python-function-structure-comparator",
      "title": "Python Function Structure Comparator",
      "job": "Compare Python functions and rank possible variants without executing the code.",
      "kind": "Tool",
      "tags": [
        "Code & architecture"
      ],
      "repository": "https://github.com/CinvanaAI/python-function-structure-comparator",
      "mechanism": "Multiple inspectable comparison dimensions explain a likely relationship instead of presenting one unexplained similarity score.",
      "scope": "Source with a complete offline example.",
      "limits": [
        "Structural similarity does not prove equivalence, correctness, authorship, or plagiarism. Imports and function bodies are parsed, not run. Runtime values and side effects are outside the analysis."
      ],
      "sources": [
        {
          "path": "examples/before.py",
          "label": "Runnable example and its input"
        },
        {
          "path": "examples/result.txt",
          "label": "Complete captured result"
        },
        {
          "path": "function_structure_comparator/core.py",
          "label": "function_structure_comparator/core.py"
        },
        {
          "path": "function_structure_comparator/cli.py",
          "label": "function_structure_comparator/cli.py"
        },
        {
          "path": "examples/after.py",
          "label": "examples/after.py"
        },
        {
          "path": "tests/test_core.py",
          "label": "tests/test_core.py"
        }
      ],
      "keywords": [
        "Python",
        "AST",
        "code archaeology"
      ],
      "license": "MIT",
      "example": {
        "title": "See the idea in action.",
        "label": "Recorded synthetic example",
        "output_label": "Captured result",
        "description": "A file-pair report with separate comparison metrics and possible_variant classifications.",
        "input": "The supplied before.py and after.py example functions.",
        "output": "{\n  \"mode\": \"file_to_file\",\n  \"file_a\": \"before.py\",\n  \"file_b\": \"after.py\",\n  \"comparison\": {\n    \"general_object_comparison\": {\n      \"identity\": {\n        \"same_object_identity\": false,\n        \"same_type\": true,\n        \"type_a\": \"builtins.str\",\n        \"type_b\": \"builtins.str\"\n      },\n      \"exactness\": {\n        \"python_equality_operator\": false,\n        \"repr_exact_match\": false,\n        \"json_exact_match\": false,\n        \"json_hash_a\": \"e1428c62183596ba10d7823e3a78440f86692b2312e79786370f0e12ac4b84a9\",\n        \"json_hash_b\": \"d68c9d251bf2f1a177c72951e0b32128f8ba5bdb3f760d815857c17fa0931584\"\n      },\n      \"similarity\": {\n        \"repr_sequence_similarity\": 0.6824644549763034,\n        \"json_sequence_similarity\": 0.676056338028169,\n        \"json_line_similarity\": 0.0,\n        \"json_token_jaccard_similarity\": 0.6956521739130435,\n        \"json_token_multiset_overlap\": 0.5869565217391305\n      },\n      \"python_source_comparison\": {\n        \"source_available_a\": true,\n        \"source_available_b\": true,\n        \"source_exact_match\": false,\n        \"source_normalized_text_similarity\": 0.6702127659574468,\n        \"source_line_similarity\": 0.0,\n        \"source_token_jaccard_similarity\": 0.6190476190476191,\n        \"source_token_multiset_overlap\": 0.5833333333333334,\n        \"ast_normalized_exact_match\": false,\n        \"ast_normalized_similarity\": 0.6767676767676768,\n        \"ast_dump_exact_match\": false,\n        \"ast_dump_similarity\": 0.3274336283185841\n      },\n      \"previews\": {\n        \"repr_a\": \"'def normalize_name(value: str) -> str:\\\\n    return value.strip().lower()\\\\n'\",\n        \"repr_b\": \"'def normalize_name(value: str, *, empty: str = \\\"unknown\\\") -> str:\\\\n    cleaned = value.strip().lower()\\\\n    return cleaned or empty\\\\n'\",\n        \"json_a\": \"\\\"def normalize_name(value: str) -> str:\\\\n    return value.strip().lower()\\\\n\\\"\",\n        \"json_b\": \"\\\"def normalize_name(value: str, *, empty: str = \\\\\\\"unknown\\\\\\\") -> str:\\\\n    cleaned = value.strip().lower()\\\\n    return cleaned or empty\\\\n\\\"\"\n      }\n    },\n    \"function_specific_comparison\": {\n      \"function_like_comparison_possible\": true,\n      \"features_a\": {\n        \"function_found\": true,\n        \"name\": \"normalize_name\",\n        \"signature\": {\n          \"name\": \"normalize_name\",\n          \"is_async\": false,\n          \"positional_only\": [],\n          \"positional_or_keyword\": [\n            \"value\"\n          ],\n          \"vararg\": null,\n          \"keyword_only\": [],\n          \"kwarg\": null,\n          \"arg_count_total\": 1,\n          \"decorator_count\": 0\n        },\n        \"body_normalized\": \"return value.strip().lower()\",\n        \"body_ast_dump\": \"Module(body=[Return(value=Call(func=Attribute(value=Call(func=Attribute(value=Name(id='value', ctx=Load()), attr='strip', ctx=Load())), attr='lower', ctx=Load())))])\",\n        \"return_count\": 1,\n        \"yield_count\": 0,\n        \"call_names\": [],\n        \"attribute_call_names\": [\n          \"lower\",\n          \"strip\"\n        ],\n        \"raises\": 0,\n        \"branch_count\": 0,\n        \"loop_count\": 0,\n        \"comprehension_count\": 0,\n        \"string_literals\": []\n      },\n      \"features_b\": {\n        \"function_found\": true,\n        \"name\": \"normalize_name\",\n        \"signature\": {\n          \"name\": \"normalize_name\",\n          \"is_async\": false,\n          \"positional_only\": [],\n          \"positional_or_keyword\": [\n            \"value\"\n          ],\n          \"vararg\": null,\n          \"keyword_only\": [\n            \"empty\"\n          ],\n          \"kwarg\": null,\n          \"arg_count_total\": 2,\n          \"decorator_count\": 0\n        },\n        \"body_normalized\": \"cleaned = value.strip().lower()\\nreturn cleaned or empty\",\n        \"body_ast_dump\": \"Module(body=[Assign(targets=[Name(id='cleaned', ctx=Store())], value=Call(func=Attribute(value=Call(func=Attribute(value=Name(id='value', ctx=Load()), attr='strip', ctx=Load())), attr='lower', ctx=Load()))), Return(value=BoolOp(op=Or(), values=[Name(id='cleaned', ctx=Load()), Name(id='empty', ctx=Load())]))])\",\n        \"return_count\": 1,\n        \"yield_count\": 0,\n        \"call_names\": [],\n        \"attribute_call_names\": [\n          \"lower\",\n          \"strip\"\n        ],\n        \"raises\": 0,\n        \"branch_count\": 0,\n        \"loop_count\": 0,\n        \"comprehension_count\": 0,\n        \"string_literals\": [\n          \"unknown\"\n        ]\n      },\n      \"name_exact_match\": true,\n      \"signature_exact_match\": false,\n      \"signature_similarity\": 0.47901234567901235,\n      \"body_normalized_exact_match\": false,\n      \"body_normalized_similarity\": 0.5783132530120482,\n      \"body_ast_exact_match\": false,\n      \"body_ast_similarity\": 0.16842105263157894,\n      \"call_name_jaccard_similarity\": 1.0,\n      \"attribute_call_name_jaccard_similarity\": 1.0,\n      \"string_literal_jaccard_similarity\": 0.0,\n      \"structure_similarity_summary\": 0.6451493302645279,\n      \"likely_relationship\": \"possible_variant\"\n    }\n  }\n}",
        "setup": "From the repository root, follow the dependency requirements in the README. This example uses supplied synthetic material.",
        "command": "python -m pip install -e .\npython -m function_structure_comparator.cli files examples/before.py examples/after.py",
        "success": "A file-pair report with separate comparison metrics and possible_variant classifications."
      },
      "family_ids": [],
      "lineage": {
        "package_kind": "focused_extraction",
        "package_kind_label": "Focused extraction",
        "origin_summary": "Authored blacksmith_compare.py engine for Blacksmith package review.",
        "public_package_changes": "Keeps the multi-signal comparator and adds a CLI and synthetic examples.",
        "boundary": "No evidence in this source set establishes Blacksmith as the current Foundry or Skeleton.",
        "documented_dates": [],
        "relationships": [],
        "sources": [
          "https://github.com/CinvanaAI/python-function-structure-comparator/blob/02bfa65ac9c66d01cfd326fe6eb9f898342ee2ab/ORIGIN.md#L1-L3"
        ]
      }
    },
    {
      "slug": "safe-gitignore-builder",
      "title": "Safe Gitignore Builder",
      "job": "Review individual files and generate ignore rules that keep unreviewed additions excluded.",
      "kind": "Tool",
      "tags": [
        "Code & architecture",
        "Data & provenance"
      ],
      "repository": "https://github.com/CinvanaAI/safe-gitignore-builder",
      "mechanism": "Approved descendants open only their ancestors, then unreviewed siblings are explicitly re-ignored; the target remains unchanged.",
      "scope": "Source with a complete offline example.",
      "limits": [
        "It writes review artifacts outside the target and never installs the generated .gitignore. Ignore rules do not remove tracked files, rewrite history, or establish that an approved file is safe; that remains the reviewer's decision.",
        "Individual file approvals keep future siblings ignored. An explicit whole-folder approval also permits future contents; this tool does not inspect file contents for secrets."
      ],
      "sources": [
        {
          "path": "examples/walkthrough.py",
          "label": "Runnable example and its input"
        },
        {
          "path": "examples/result.txt",
          "label": "Complete captured result"
        },
        {
          "path": "src/safe_gitignore_builder/engine.py",
          "label": "src/safe_gitignore_builder/engine.py"
        },
        {
          "path": "tests/test_engine.py",
          "label": "tests/test_engine.py"
        },
        {
          "path": "README.md",
          "label": "README.md"
        },
        {
          "path": "SECURITY.md",
          "label": "SECURITY.md"
        }
      ],
      "keywords": [
        "Git",
        "allowlist",
        "publication review"
      ],
      "license": "MIT",
      "example": {
        "title": "See the idea in action.",
        "label": "Recorded synthetic example",
        "output_label": "Captured result",
        "description": "A default-deny candidate that opens src/tool.py, keeps src/notes.txt ignored, and leaves all target bytes unchanged.",
        "input": "A synthetic target with README.md, src/tool.py, and unreviewed src/notes.txt.",
        "output": "{\n  \"initial_rules\": \"# Ignore everything by default\\n/*\\n\\n\",\n  \"reviewed_rules\": \"# Ignore everything by default\\n/*\\n\\n!/src/\\n/src/*\\n!/src/tool.py\\n\",\n  \"review_survives_rescan\": true,\n  \"target_unchanged\": true\n}",
        "setup": "From the repository root, follow the dependency requirements in the README. This example uses supplied synthetic material.",
        "command": "python -m pip install -e .\npython -m examples.walkthrough",
        "success": "A default-deny candidate that opens src/tool.py, keeps src/notes.txt ignored, and leaves all target bytes unchanged."
      },
      "family_ids": [],
      "lineage": {
        "package_kind": "focused_extraction",
        "package_kind_label": "Focused extraction",
        "origin_summary": "A Workbench publication-safety tool for explicitly reviewed paths.",
        "public_package_changes": "Keeps the combined tree/review/compiler workflow, packages a command, and excludes generated project reports.",
        "boundary": "The generic Workbench origin does not identify a specific published parent.",
        "documented_dates": [],
        "relationships": [],
        "sources": [
          "https://github.com/CinvanaAI/safe-gitignore-builder/blob/1b2f2871591fc2a8489e20e8b56e9e57d509157e/ORIGIN.md#L1-L6"
        ]
      }
    },
    {
      "slug": "agent-foundry-blueprint-compiler",
      "title": "Agent Foundry Blueprint Compiler",
      "job": "Turn a capability record into a portable fenced blueprint, then parse it back.",
      "kind": "Library",
      "tags": [
        "Workflows & capabilities",
        "Code & architecture"
      ],
      "repository": "https://github.com/CinvanaAI/agent-foundry-blueprint-compiler",
      "mechanism": "Human-readable boundaries and machine-checkable round trips make a capability definition inspectable before execution.",
      "scope": "Source with a complete offline example.",
      "limits": [
        "Hashes identify content; they do not establish trust.",
        "Nested argument/return metadata is only lightly validated."
      ],
      "sources": [
        {
          "path": "examples/demo.py",
          "label": "Runnable example and its input"
        },
        {
          "path": "examples/captured-result.json",
          "label": "Complete captured result"
        },
        {
          "path": "agent_foundry_blueprint_compiler/compiler.py",
          "label": "agent_foundry_blueprint_compiler/compiler.py"
        },
        {
          "path": "tests/test_compiler.py",
          "label": "tests/test_compiler.py"
        },
        {
          "path": "examples/package.blueprint.txt",
          "label": "Complete generated blueprint"
        },
        {
          "path": "examples/runtime.json",
          "label": "Parsed runtime record"
        }
      ],
      "keywords": [
        "Python",
        "capabilities",
        "formats"
      ],
      "license": "MIT",
      "example": {
        "title": "See the idea in action.",
        "label": "Recorded synthetic example",
        "output_label": "Captured result",
        "description": "Seven fenced blocks round-trip to one normalized record; a mixed-package fence is rejected.",
        "input": "A JSON package record containing a Python text-normalizer function.",
        "output": "{\n  \"name\": \"Normalize Text\",\n  \"round_trip\": true,\n  \"mixed_package_rejected\": \"All blocks must belong to the same package\",\n  \"formatting_changes_raw_hash_only\": true,\n  \"blueprint_sha256\": \"7472dc118e36438347ec461cdbf82abd4ab6b894de7f4eb8b6eaad3f54107d38\",\n  \"record_sha256\": \"14bcb51aa169f11c3bc3669061f16ff33edcf5ffc653510bf9eadfaff09f4f5a\",\n  \"logic_executed\": false\n}",
        "setup": "From the repository root, follow the dependency requirements in the README. This example uses supplied synthetic material.",
        "command": "python -m pip install -e .\npython -m examples.demo",
        "success": "Seven fenced blocks round-trip to one normalized record; a mixed-package fence is rejected."
      },
      "family_ids": [
        "builder-foundry"
      ],
      "lineage": {
        "package_kind": "focused_extraction",
        "package_kind_label": "Focused extraction",
        "origin_summary": "Agent Foundry importer, parser and runtime composer inside the historical Python workbench.",
        "public_package_changes": "Isolates the record/blueprint/runtime boundary and tightens its round-trip grammar.",
        "boundary": "It is a focused boundary from the integrated application, not its editing UI.",
        "documented_dates": [],
        "relationships": [
          {
            "target": "python-agent-foundry-workbench",
            "relation": "extracted_from",
            "label": "Source workbench / parent system",
            "visitor_value": "See the integrated setting from which this independently useful mechanism was separated.",
            "caveat": "The standalone boundary has documented public adaptations; this is not a promise of current drop-in interchangeability.",
            "sources": [
              "https://github.com/CinvanaAI/agent-foundry-blueprint-compiler/blob/8d3020e100e4aa6f0bff3f3cc4b2bd5fd8a0f8ce/ORIGIN.md#L1-L3"
            ]
          }
        ],
        "sources": [
          "https://github.com/CinvanaAI/agent-foundry-blueprint-compiler/blob/8d3020e100e4aa6f0bff3f3cc4b2bd5fd8a0f8ce/ORIGIN.md#L1-L3"
        ]
      }
    },
    {
      "slug": "agent-workflow-governance",
      "title": "Agent Workflow Governance",
      "job": "Give an agent permission for specific package actions and record blocked or completed runs.",
      "kind": "Library",
      "tags": [
        "Workflows & capabilities"
      ],
      "repository": "https://github.com/CinvanaAI/agent-workflow-governance",
      "mechanism": "Workflow permissions are inspectable records that can be checked before an execution handoff.",
      "scope": "Source with a complete offline example.",
      "limits": [
        "The built-in demo records permission decisions and targets; it does not read files or run a model.",
        "Local single-writer store; caller-supplied policy is not authentication."
      ],
      "sources": [
        {
          "path": "examples/first-agent.mjs",
          "label": "Runnable example and its input"
        },
        {
          "path": "examples/captured-result.json",
          "label": "Complete captured result"
        },
        {
          "path": "src/index.ts",
          "label": "src/index.ts"
        },
        {
          "path": "src/owners/agents/src/service.ts",
          "label": "src/owners/agents/src/service.ts"
        },
        {
          "path": "tests/workflow-governance.mjs",
          "label": "tests/workflow-governance.mjs"
        }
      ],
      "keywords": [
        "TypeScript",
        "agents",
        "permissions"
      ],
      "license": "MIT",
      "example": {
        "title": "See the idea in action.",
        "label": "Recorded synthetic example",
        "output_label": "Captured result",
        "description": "An inactive agent is refused; permission allows a run. Restart preserves configuration, and revocation blocks a later request.",
        "input": "A new document-reviewer agent and one synthetic file assignment.",
        "output": "{\n  \"inactive\": \"blocked\",\n  \"permitted\": \"complete\",\n  \"revoked\": \"blocked\",\n  \"permittedTargets\": 1,\n  \"afterRestart\": \"blocked\",\n  \"decisions\": {\n    \"inactive\": {\n      \"status\": \"blocked\",\n      \"checks\": [\n        {\n          \"checkId\": \"agent-active\",\n          \"ok\": false,\n          \"summary\": \"Agent is inactive.\"\n        },\n        {\n          \"checkId\": \"workflow-enabled\",\n          \"ok\": true,\n          \"summary\": \"Workflow is enabled.\"\n        },\n        {\n          \"checkId\": \"workflow-tools-declared\",\n          \"ok\": true,\n          \"summary\": \"Workflow tools are declared on the agent definition.\"\n        },\n        {\n          \"checkId\": \"target-permissions\",\n          \"ok\": true,\n          \"summary\": \"All visible workflow targets satisfy keycard and per-tool file permissions.\"\n        }\n      ],\n      \"denials\": [\n        \"Agent is inactive.\"\n      ]\n    },\n    \"permitted\": {\n      \"status\": \"complete\",\n      \"checks\": [\n        {\n          \"checkId\": \"agent-active\",\n          \"ok\": true,\n          \"summary\": \"Agent activation gate is open.\"\n        },\n        {\n          \"checkId\": \"workflow-enabled\",\n          \"ok\": true,\n          \"summary\": \"Workflow is enabled.\"\n        },\n        {\n          \"checkId\": \"workflow-tools-declared\",\n          \"ok\": true,\n          \"summary\": \"Workflow tools are declared on the agent definition.\"\n        },\n        {\n          \"checkId\": \"target-permissions\",\n          \"ok\": true,\n          \"summary\": \"All visible workflow targets satisfy keycard and per-tool file permissions.\"\n        }\n      ],\n      \"denials\": []\n    },\n    \"revoked\": {\n      \"status\": \"blocked\",\n      \"checks\": [\n        {\n          \"checkId\": \"agent-active\",\n          \"ok\": true,\n          \"summary\": \"Agent activation gate is open.\"\n        },\n        {\n          \"checkId\": \"workflow-enabled\",\n          \"ok\": true,\n          \"summary\": \"Workflow is enabled.\"\n        },\n        {\n          \"checkId\": \"workflow-tools-declared\",\n          \"ok\": true,\n          \"summary\": \"Workflow tools are declared on the agent definition.\"\n        },\n        {\n          \"checkId\": \"target-permissions\",\n          \"ok\": false,\n          \"summary\": \"1 workflow target(s) failed runtime file permission checks.\"\n        }\n      ],\n      \"denials\": [\n        \"1 workflow target(s) failed runtime file permission checks.\"\n      ]\n    }\n  },\n  \"targetPreview\": {\n    \"workflowId\": \"workflow:demo.reviewer.1:manual\",\n    \"instanceId\": \"demo.reviewer.1\",\n    \"targets\": [\n      {\n        \"path\": \"/synthetic/brief.txt\",\n        \"kind\": \"file\",\n        \"permitted\": true,\n        \"reason\": \"File is visible and all workflow tools have direct permission.\"\n      }\n    ],\n    \"warnings\": []\n  },\n  \"scope\": \"Permission decisions and target evidence only; no source file was read.\"\n}",
        "setup": "From the repository root, follow the dependency requirements in the README. This example uses supplied synthetic material.",
        "command": "npm ci\nnpm run demo",
        "success": "An inactive agent is refused; permission allows a run. Restart preserves configuration, and revocation blocks a later request."
      },
      "family_ids": [
        "skeleton-rebuild"
      ],
      "lineage": {
        "package_kind": "focused_extraction",
        "package_kind_label": "Focused extraction",
        "origin_summary": "Agent runtime rules from the owner-governed Skeleton rebuild.",
        "public_package_changes": "Preserves agent/storage/handoff/executor records and adds standalone synthetic examples and checks.",
        "boundary": "A selected subsystem snapshot, not a separate historical whole workbench.",
        "documented_dates": [],
        "relationships": [
          {
            "target": "skeleton",
            "relation": "extracted_from",
            "label": "Source workbench / parent system",
            "visitor_value": "See the integrated setting from which this independently useful mechanism was separated.",
            "caveat": "The parent implementation remains present. The relationship is provenance, not a package-manager dependency.",
            "sources": [
              "https://github.com/CinvanaAI/agent-workflow-governance/blob/4cf23398532b75ba60d6001377bfaa45c60d7b63/ORIGIN.md#L1-L5"
            ]
          }
        ],
        "sources": [
          "https://github.com/CinvanaAI/agent-workflow-governance/blob/4cf23398532b75ba60d6001377bfaa45c60d7b63/ORIGIN.md#L1-L5"
        ]
      }
    },
    {
      "slug": "ai-software-factory-prototype",
      "title": "AI Software Factory Prototype",
      "job": "Follow a two-stage code-generation experiment from the first draft to a separate refinement.",
      "kind": "Experiment",
      "tags": [
        "Workflows & capabilities",
        "Code & architecture"
      ],
      "repository": "https://github.com/CinvanaAI/ai-software-factory-prototype",
      "mechanism": "Keeping stage outputs separate makes a generation pipeline inspectable even when a later stage fails.",
      "scope": "An executable experiment using supplied synthetic inputs.",
      "limits": [
        "Bundled stages are deterministic simulations.",
        "A failing stage can leave partial files without a completed job record; use a fresh workspace."
      ],
      "sources": [
        {
          "path": "software_factory/__main__.py",
          "label": "Runnable example and its input"
        },
        {
          "path": "examples/captured-result.json",
          "label": "Complete captured result"
        },
        {
          "path": "software_factory/core.py",
          "label": "software_factory/core.py"
        },
        {
          "path": "tests/test_factory.py",
          "label": "tests/test_factory.py"
        }
      ],
      "keywords": [
        "Python",
        "workflow recipes",
        "code generation"
      ],
      "license": "MIT",
      "example": {
        "title": "See the idea in action.",
        "label": "Recorded synthetic example",
        "output_label": "Captured result",
        "description": "Separate engineer-output, final-output and a job-evidence.json record.",
        "input": "One software task plus injectable engineer/refiner functions.",
        "output": "{\n  \"task\": \"Build a greeting tool\",\n  \"status\": \"complete\",\n  \"stages\": [\n    {\n      \"stage\": \"engineer\",\n      \"input_files\": 0,\n      \"output_files\": 2\n    },\n    {\n      \"stage\": \"refiner\",\n      \"input_files\": 2,\n      \"output_files\": 2\n    }\n  ],\n  \"engineer_files\": {\n    \"app.py\": \"def main() -> None:\\n    print('Build a greeting tool')\\n\\n\\nif __name__ == '__main__':\\n    main()\\n\",\n    \"README.md\": \"# Generated scaffold\\n\\nTask: Build a greeting tool\\n\"\n  },\n  \"final_files\": {\n    \"app.py\": \"def main() -> None:\\n    print('Build a greeting tool')\\n\\n\\nif __name__ == '__main__':\\n    main()\\n\\n# Reviewed by the simulated refiner.\\n\",\n    \"README.md\": \"# Generated scaffold\\n\\nTask: Build a greeting tool\\n\"\n  },\n  \"failed_refiner\": {\n    \"error\": \"Synthetic refiner failure\",\n    \"engineer_output_retained\": true,\n    \"completed_job_record_exists\": false\n  },\n  \"generated_code_executed\": false\n}",
        "setup": "From the repository root, follow the dependency requirements in the README. This example uses supplied synthetic material.",
        "command": "python -m pip install -e .\npython -m software_factory \"Build a greeting tool\" --workspace ./demo-output",
        "success": "Separate engineer-output, final-output and a job-evidence.json record."
      },
      "family_ids": [
        "builder-foundry"
      ],
      "lineage": {
        "package_kind": "public_continuation",
        "package_kind_label": "Public continuation",
        "origin_summary": "Factory experiments with simulated scaffold/refine stages and broader orchestration trials.",
        "public_package_changes": "Turns the authored two-stage idea into a contained offline proof with evidence; excludes copied third-party implementations.",
        "boundary": "The public code does not supply GPT-Engineer, Aider or Docker integrations.",
        "documented_dates": [],
        "relationships": [],
        "sources": [
          "https://github.com/CinvanaAI/ai-software-factory-prototype/blob/dc9f70a554cb26a96afcf0fc26810296b7ddcab9/ORIGIN.md#L1-L5"
        ]
      }
    },
    {
      "slug": "bounded-execution-ledger",
      "title": "Bounded Execution Ledger",
      "job": "Keep a task request, handler result and execution evidence together, including failures and refusals.",
      "kind": "Library",
      "tags": [
        "Workflows & capabilities"
      ],
      "repository": "https://github.com/CinvanaAI/bounded-execution-ledger",
      "mechanism": "Evidence of what was requested and returned belongs to the execution boundary itself.",
      "scope": "Source with a complete offline example.",
      "limits": [
        "Trusted handlers run in process without a deadline or security sandbox.",
        "Evidence stores submitted inputs and errors; use synthetic data for public demonstrations."
      ],
      "sources": [
        {
          "path": "examples/first-handler.mjs",
          "label": "Runnable example and its input"
        },
        {
          "path": "examples/captured-result.json",
          "label": "Complete captured result"
        },
        {
          "path": "src/index.ts",
          "label": "src/index.ts"
        },
        {
          "path": "src/owners/execution-environment/src/executor.ts",
          "label": "src/owners/execution-environment/src/executor.ts"
        },
        {
          "path": "tests/executor-evidence.mjs",
          "label": "tests/executor-evidence.mjs"
        }
      ],
      "keywords": [
        "TypeScript",
        "execution",
        "evidence"
      ],
      "license": "MIT",
      "example": {
        "title": "See the idea in action.",
        "label": "Recorded synthetic example",
        "output_label": "Captured result",
        "description": "complete: hello ledger; failed invalid input; denied request never invokes handler; three durable runs.",
        "input": "A registered text-normalizing handler and an explicit permission decision.",
        "output": "{\n  \"kind\": \"captured synthetic execution projection\",\n  \"command\": \"npm run demo\",\n  \"input_example\": \"examples/first-handler.mjs\",\n  \"observed_output\": {\n    \"success\": \"complete\",\n    \"output\": \"hello ledger\",\n    \"failed\": \"failed\",\n    \"denied\": \"denied\",\n    \"handlerCalls\": 2,\n    \"durableRuns\": 3\n  },\n  \"projection_note\": \"Selected fields from a successful local run. Machine paths, temporary identifiers and execution timestamps are omitted. Re-run the linked example for fresh evidence.\"\n}",
        "setup": "From the repository root, follow the dependency requirements in the README. This example uses supplied synthetic material.",
        "command": "npm ci\nnpm run demo",
        "success": "complete: hello ledger; failed invalid input; denied request never invokes handler; three durable runs."
      },
      "family_ids": [
        "skeleton-rebuild"
      ],
      "lineage": {
        "package_kind": "focused_extraction",
        "package_kind_label": "Focused extraction",
        "origin_summary": "Executor and owner-scoped record substrate from Skeleton Execution Environment.",
        "public_package_changes": "Provides a standalone package around preserved success, denial and failure semantics.",
        "boundary": "The lineage link describes the source; it does not require installing the full desktop.",
        "documented_dates": [],
        "relationships": [
          {
            "target": "skeleton",
            "relation": "extracted_from",
            "label": "Source workbench / parent system",
            "visitor_value": "See the integrated setting from which this independently useful mechanism was separated.",
            "caveat": "The parent implementation remains present. The relationship is provenance, not a package-manager dependency.",
            "sources": [
              "https://github.com/CinvanaAI/bounded-execution-ledger/blob/e60d8501d55fe5e25026b34a4df2d3f0eddb006a/ORIGIN.md#L1-L5"
            ]
          }
        ],
        "sources": [
          "https://github.com/CinvanaAI/bounded-execution-ledger/blob/e60d8501d55fe5e25026b34a4df2d3f0eddb006a/ORIGIN.md#L1-L5"
        ]
      }
    },
    {
      "slug": "capability-package-workbench",
      "title": "Capability Package Workbench",
      "job": "Publish a local capability version and run its saved snapshot while the next draft changes.",
      "kind": "Library",
      "tags": [
        "Workflows & capabilities"
      ],
      "repository": "https://github.com/CinvanaAI/capability-package-workbench",
      "mechanism": "A reviewed, immutable package snapshot is a clearer execution target than a moving draft.",
      "scope": "Source with a complete offline example.",
      "limits": [
        "Python source is trusted executable code, not sandboxed.",
        "Validation checks the package structure, not general program correctness."
      ],
      "sources": [
        {
          "path": "examples/first-package.mjs",
          "label": "Runnable example and its input"
        },
        {
          "path": "examples/captured-result.json",
          "label": "Complete captured result"
        },
        {
          "path": "src/index.ts",
          "label": "src/index.ts"
        },
        {
          "path": "src/owners/capability-platform/src/service.ts",
          "label": "src/owners/capability-platform/src/service.ts"
        },
        {
          "path": "tests/lifecycle.mjs",
          "label": "tests/lifecycle.mjs"
        }
      ],
      "keywords": [
        "TypeScript",
        "Python",
        "package lifecycle"
      ],
      "license": "MIT",
      "example": {
        "title": "See the idea in action.",
        "label": "Recorded synthetic example",
        "output_label": "Captured result",
        "description": "An unpublished action is refused. Compare two published versions and a third release that restores the earlier behavior.",
        "input": "A new Python title-normalizer draft and a whitespace-heavy title.",
        "output": "{\n  \"unpublishedAuthorized\": false,\n  \"releaseVersion\": 1,\n  \"output\": \"hello packages\",\n  \"draftEditChangedPublishedOutput\": false,\n  \"secondPublication\": {\n    \"version\": 2,\n    \"output\": \"DRAFT ONLY\"\n  },\n  \"rollbackPublication\": {\n    \"version\": 3,\n    \"outputAfterRestart\": \"hello packages\"\n  },\n  \"priorReleaseUnchanged\": true,\n  \"retainedVersions\": [\n    3,\n    2,\n    1\n  ]\n}",
        "setup": "From the repository root, follow the dependency requirements in the README. This example uses supplied synthetic material.",
        "command": "npm ci\nnpm run demo",
        "success": "An unpublished action is refused. Compare two published versions and a third release that restores the earlier behavior."
      },
      "family_ids": [
        "skeleton-rebuild"
      ],
      "lineage": {
        "package_kind": "focused_extraction",
        "package_kind_label": "Focused extraction",
        "origin_summary": "Package model and selected owner implementations from the owner-governed Skeleton rebuild.",
        "public_package_changes": "Preserves the implementations with configurable bootstrap paths and independent demonstration.",
        "boundary": "Skeleton retains its complete implementation; this is the focused package boundary.",
        "documented_dates": [],
        "relationships": [
          {
            "target": "skeleton",
            "relation": "extracted_from",
            "label": "Source workbench / parent system",
            "visitor_value": "See the integrated setting from which this independently useful mechanism was separated.",
            "caveat": "The parent implementation remains present. The relationship is provenance, not a package-manager dependency.",
            "sources": [
              "https://github.com/CinvanaAI/capability-package-workbench/blob/9faa0838af33d9923fe83f5cfc3923cfcb1b0995/ORIGIN.md#L1-L7"
            ]
          }
        ],
        "sources": [
          "https://github.com/CinvanaAI/capability-package-workbench/blob/9faa0838af33d9923fe83f5cfc3923cfcb1b0995/ORIGIN.md#L1-L7"
        ]
      }
    },
    {
      "slug": "evidence-archive-museum",
      "title": "Evidence Archive Museum",
      "job": "Turn a structured archive into a portable exhibit where topics lead directly to supporting records.",
      "kind": "Tool",
      "tags": [
        "Conversations & archives",
        "Data & provenance"
      ],
      "repository": "https://github.com/CinvanaAI/evidence-archive-museum",
      "mechanism": "A small archive can carry its own navigable presentation without a service or database.",
      "scope": "Source with a complete offline example.",
      "limits": [
        "Structural consistency does not establish factual truth.",
        "Source path labels are not fetched or verified as files."
      ],
      "sources": [
        {
          "path": "examples/synthetic_archive/records.jsonl",
          "label": "Runnable example and its input"
        },
        {
          "path": "example-site/index.html",
          "label": "Complete captured result"
        },
        {
          "path": "evidence_archive_museum/archive.py",
          "label": "evidence_archive_museum/archive.py"
        },
        {
          "path": "evidence_archive_museum/render.py",
          "label": "evidence_archive_museum/render.py"
        },
        {
          "path": "docs/WORKED-EXAMPLE.md",
          "label": "Follow a topic to its records"
        }
      ],
      "keywords": [
        "Python",
        "archives",
        "HTML"
      ],
      "license": "MIT",
      "example": {
        "title": "See the idea in action.",
        "label": "Recorded synthetic example",
        "output_label": "What to notice in the generated demonstration",
        "description": "Four synthetic records become a searchable exhibit. Open the Museum topic to see its two supporting records, search within them, or restore the full collection.",
        "input": "Four synthetic archive records with group, era and disposition data.",
        "output": "A validated self-contained searchable HTML exhibit.",
        "setup": "From the repository root, follow the dependency requirements in the README. This example uses supplied synthetic material.",
        "command": "python -m pip install -e .\npython -m evidence_archive_museum.cli validate examples/synthetic_archive\npython -m evidence_archive_museum.cli build examples/synthetic_archive --output demo-museum.html",
        "success": "Four synthetic records become a searchable exhibit. Open the Museum topic to see its two supporting records, search within them, or restore the full collection."
      },
      "demo_url": "https://cinvanaai.github.io/lab-portfolio/demos/evidence-archive-museum/index.html",
      "family_ids": [],
      "lineage": {
        "package_kind": "public_continuation",
        "package_kind_label": "Public continuation",
        "origin_summary": "CinvanaAI Chronicle dashboard from a private 2026 archive investigation.",
        "public_package_changes": "Preserves the evidence-museum approach using a small public JSON contract instead of private registers.",
        "boundary": "The museum is a reusable rendering tool; no personal archive or testimony is included.",
        "documented_dates": [
          {
            "value": "2026",
            "precision": "year",
            "scope": "Private archive investigation containing the Chronicle dashboard.",
            "is_project_start": false,
            "sources": [
              "https://github.com/CinvanaAI/evidence-archive-museum/blob/ea3384ed6131d2f9dc76b52dd284e4841bfcf1ba/ORIGIN.md#L3-L3"
            ]
          }
        ],
        "relationships": [],
        "sources": [
          "https://github.com/CinvanaAI/evidence-archive-museum/blob/ea3384ed6131d2f9dc76b52dd284e4841bfcf1ba/ORIGIN.md#L1-L7"
        ]
      }
    },
    {
      "slug": "fungus-observability",
      "title": "Fungus Observability",
      "job": "Trace selected Python calls and failures locally without collecting their payloads by default.",
      "kind": "Tool",
      "tags": [
        "Code & architecture"
      ],
      "repository": "https://github.com/CinvanaAI/fungus-observability",
      "mechanism": "Instrumentation can be explicit and useful without default collection of arguments, returns or exception messages.",
      "scope": "Source with a complete offline example.",
      "limits": [
        "Arguments/results/error text are omitted by default, not guaranteed safe when explicitly enabled.",
        "Pause log writers before retention; generator iteration is not instrumented."
      ],
      "sources": [
        {
          "path": "examples/demo.py",
          "label": "Runnable example and its input"
        },
        {
          "path": "examples/captured-result.json",
          "label": "Complete captured result"
        },
        {
          "path": "fungus_observability/recorder.py",
          "label": "fungus_observability/recorder.py"
        },
        {
          "path": "fungus_observability/retention.py",
          "label": "fungus_observability/retention.py"
        },
        {
          "path": "tests/test_observability.py",
          "label": "tests/test_observability.py"
        }
      ],
      "keywords": [
        "Python",
        "observability",
        "privacy"
      ],
      "license": "MIT",
      "example": {
        "title": "See the idea in action.",
        "label": "Recorded synthetic example",
        "output_label": "Captured result",
        "description": "entered/completed and entered/failed events, plus two preserved archive generations.",
        "input": "Opt-in observation of ordinary and async synthetic calls.",
        "output": "{\n  \"kind\": \"captured synthetic execution projection\",\n  \"command\": \"python -m examples.demo\",\n  \"input_example\": \"examples/demo.py\",\n  \"observed_output\": {\n    \"events\": [\n      \"entered\",\n      \"completed\",\n      \"entered\",\n      \"failed\",\n      \"second-batch\"\n    ],\n    \"archive_generations\": 2,\n    \"secret\": \"[REDACTED]\"\n  },\n  \"projection_note\": \"Selected fields from a successful local run. Machine paths, temporary identifiers and execution timestamps are omitted. Re-run the linked example for fresh evidence.\"\n}",
        "setup": "From the repository root, follow the dependency requirements in the README. This example uses supplied synthetic material.",
        "command": "python -m pip install -e .\npython -m examples.demo",
        "success": "entered/completed and entered/failed events, plus two preserved archive generations."
      },
      "family_ids": [
        "builder-foundry"
      ],
      "lineage": {
        "package_kind": "public_continuation",
        "package_kind_label": "Public continuation",
        "origin_summary": "Builder black-box recording layer.",
        "public_package_changes": "Hardens opt-in structured recording and retention; removes auto-import injection and private log capture.",
        "boundary": "This continues an authored subsystem idea; it does not ship the historical Builder registry.",
        "documented_dates": [],
        "relationships": [
          {
            "target": "builder-prototypes",
            "relation": "shared_historical_project",
            "label": "Another Builder continuation",
            "visitor_value": "Explore the recording layer and orchestration experiments from the documented Builder line.",
            "caveat": "Shared historical Builder origin; no direct dependency between these public packages is established.",
            "sources": [
              "https://github.com/CinvanaAI/fungus-observability/blob/53de321d4a353e655504f8c5ad2d21ca16aa8acb/ORIGIN.md#L1-L7",
              "https://github.com/CinvanaAI/builder-prototypes/blob/a8243e70cde2243e077433211ab34844ed219f47/ORIGIN.md#L1-L7"
            ]
          }
        ],
        "sources": [
          "https://github.com/CinvanaAI/fungus-observability/blob/53de321d4a353e655504f8c5ad2d21ca16aa8acb/ORIGIN.md#L1-L7"
        ]
      }
    },
    {
      "slug": "governed-change-workbench",
      "title": "Governed Change Workbench",
      "job": "Carry a change through implementation, review and audit while preserving failed attempts and retries.",
      "kind": "Workbench",
      "tags": [
        "Workflows & capabilities"
      ],
      "repository": "https://github.com/CinvanaAI/governed-change-workbench",
      "mechanism": "Freezing the exact inputs and preserving stage evidence makes a handoff inspectable after the conversation has moved on.",
      "scope": "Source with a complete offline example.",
      "limits": [
        "Runner completion is a reported outcome, not independent proof of implementation.",
        "Authorization is an explicit caller flag, not multi-user authentication."
      ],
      "sources": [
        {
          "path": "examples/failure_and_retry.py",
          "label": "Runnable example and its input"
        },
        {
          "path": "examples/captured-result.json",
          "label": "Complete captured result"
        },
        {
          "path": "governed_change_workbench/service.py",
          "label": "governed_change_workbench/service.py"
        },
        {
          "path": "governed_change_workbench/storage.py",
          "label": "governed_change_workbench/storage.py"
        },
        {
          "path": "governed_change_workbench/cli.py",
          "label": "governed_change_workbench/cli.py"
        },
        {
          "path": "examples/lifecycle.py",
          "label": "Complete change lifecycle example"
        },
        {
          "path": "examples/lifecycle-result.json",
          "label": "Implementation, review, audit and synthesis results"
        }
      ],
      "keywords": [
        "Python",
        "workflow governance",
        "handoffs"
      ],
      "license": "MIT",
      "example": {
        "title": "See the idea in action.",
        "label": "Recorded synthetic example",
        "output_label": "Captured result",
        "description": "Failed implementation stays implementation_ready; retry reaches implementation_complete; one failed attempt remains recorded.",
        "input": "A synthetic change request and an injected phase runner.",
        "output": "{\n  \"kind\": \"captured synthetic execution projection\",\n  \"command\": \"python -m examples.failure_and_retry\",\n  \"input_example\": \"examples/failure_and_retry.py\",\n  \"observed_output\": {\n    \"after_failure\": \"implementation_ready\",\n    \"after_retry\": \"implementation_complete\",\n    \"preserved_failures\": 1\n  },\n  \"projection_note\": \"Selected fields from a successful local run. Machine paths, temporary identifiers and execution timestamps are omitted. Re-run the linked example for fresh evidence.\"\n}",
        "setup": "From the repository root, follow the dependency requirements in the README. This example uses supplied synthetic material.",
        "command": "python -m pip install -e .\npython -m governed_change_workbench.cli ./demo-sessions\npython -m examples.failure_and_retry",
        "success": "Failed implementation stays implementation_ready; retry reaches implementation_complete; one failed attempt remains recorded."
      },
      "family_ids": [
        "transcript-evaluation"
      ],
      "lineage": {
        "package_kind": "focused_extraction",
        "package_kind_label": "Focused extraction",
        "origin_summary": "Change-workbench subsystem of the March 2026 Transcript Model Evaluator.",
        "public_package_changes": "Retains the staged change/review/audit idea and adds stronger guards, frozen evidence, contained writes and injectable runners.",
        "boundary": "It excludes the desktop, application database, model inventory and historic live runs.",
        "documented_dates": [
          {
            "value": "2026-03",
            "precision": "month",
            "scope": "Historical Transcript Model Evaluator change_workbench subsystem.",
            "is_project_start": false,
            "sources": [
              "https://github.com/CinvanaAI/governed-change-workbench/blob/1dcdd23c4cb6dbc2dfce506f1d58730392218b67/ORIGIN.md#L3-L3"
            ]
          }
        ],
        "relationships": [
          {
            "target": "transcript-model-evaluator",
            "relation": "extracted_from",
            "label": "Source workbench / parent system",
            "visitor_value": "See the integrated setting from which this independently useful mechanism was separated.",
            "caveat": "",
            "sources": [
              "https://github.com/CinvanaAI/governed-change-workbench/blob/1dcdd23c4cb6dbc2dfce506f1d58730392218b67/ORIGIN.md#L1-L7"
            ]
          }
        ],
        "sources": [
          "https://github.com/CinvanaAI/governed-change-workbench/blob/1dcdd23c4cb6dbc2dfce506f1d58730392218b67/ORIGIN.md#L1-L7"
        ]
      }
    },
    {
      "slug": "materialized-task-runner",
      "title": "Materialized Task Runner",
      "job": "Run a saved, trusted Python task in a fresh interpreter and keep the source and result evidence.",
      "kind": "Library",
      "tags": [
        "Workflows & capabilities"
      ],
      "repository": "https://github.com/CinvanaAI/materialized-task-runner",
      "mechanism": "Separating task materialization from the authoring workbench makes saved work independently executable and reviewable.",
      "scope": "Source with a complete offline example.",
      "limits": [
        "Runs trusted arbitrary Python; subprocess separation is not a sandbox.",
        "Timeout does not guarantee termination of descendant processes."
      ],
      "sources": [
        {
          "path": "examples/demo.py",
          "label": "Runnable example and its input"
        },
        {
          "path": "examples/captured-result.json",
          "label": "Complete captured result"
        },
        {
          "path": "materialized_task_runner/runner.py",
          "label": "materialized_task_runner/runner.py"
        },
        {
          "path": "materialized_task_runner/task_runner_materializer.py",
          "label": "materialized_task_runner/task_runner_materializer.py"
        },
        {
          "path": "tests/test_runner.py",
          "label": "tests/test_runner.py"
        }
      ],
      "keywords": [
        "Python",
        "execution",
        "capabilities"
      ],
      "license": "MIT",
      "example": {
        "title": "See the idea in action.",
        "label": "Recorded synthetic example",
        "output_label": "Captured result",
        "description": "A fresh interpreter returns {\"greeting\":\"Hello Avery\"}; source and result hashes remain in evidence.",
        "input": "A formatter package, run_workflow function and {\"name\":\"avery\"}.",
        "output": "{\n  \"kind\": \"captured synthetic execution projection\",\n  \"command\": \"python -m examples.demo\",\n  \"input_example\": \"examples/demo.py\",\n  \"observed_output\": {\n    \"unauthorized_refused\": true,\n    \"status\": \"complete\",\n    \"result\": {\n      \"greeting\": \"Hello Avery\"\n    },\n    \"runtime_cleaned\": true\n  },\n  \"projection_note\": \"Selected fields from a successful local run. Machine paths, temporary identifiers and execution timestamps are omitted. Re-run the linked example for fresh evidence.\"\n}",
        "setup": "From the repository root, follow the dependency requirements in the README. This example uses supplied synthetic material.",
        "command": "python -m pip install -e .\npython -m examples.demo",
        "success": "A fresh interpreter returns {\"greeting\":\"Hello Avery\"}; source and result hashes remain in evidence."
      },
      "family_ids": [
        "builder-foundry"
      ],
      "lineage": {
        "package_kind": "focused_extraction",
        "package_kind_label": "Focused extraction",
        "origin_summary": "Task materialization and execution subsystem of historical Python Agent Foundry.",
        "public_package_changes": "Moves from shared running directories to unique runs, explicit authorization, bounds and durable evidence.",
        "boundary": "The focused runner is adapted for independent use; it does not replace the parent source.",
        "documented_dates": [],
        "relationships": [
          {
            "target": "python-agent-foundry-workbench",
            "relation": "extracted_from",
            "label": "Source workbench / parent system",
            "visitor_value": "See the integrated setting from which this independently useful mechanism was separated.",
            "caveat": "The standalone boundary has documented public adaptations; this is not a promise of current drop-in interchangeability.",
            "sources": [
              "https://github.com/CinvanaAI/materialized-task-runner/blob/679a6267553068530105e1c377edbc34b96e84d0/ORIGIN.md#L1-L3"
            ]
          }
        ],
        "sources": [
          "https://github.com/CinvanaAI/materialized-task-runner/blob/679a6267553068530105e1c377edbc34b96e84d0/ORIGIN.md#L1-L3"
        ]
      }
    },
    {
      "slug": "personal-intelligence-dashboard",
      "title": "Personal Intelligence Dashboard",
      "job": "Explore a daily-docket prototype whose working first step counts files and exact duplicates.",
      "kind": "Prototype",
      "tags": [
        "Conversations & archives",
        "Data & provenance"
      ],
      "repository": "https://github.com/CinvanaAI/personal-intelligence-dashboard",
      "mechanism": "An honest empty state and source boundaries matter more than invented insights from data that has not been loaded.",
      "scope": "Working source census with a proposed daily-docket interface. Search and recommendations are not implemented.",
      "limits": [
        "Prototype: source census is implemented; recommendations and semantic interpretation are not.",
        "The public demo contains synthetic data only."
      ],
      "sources": [
        {
          "path": "engine/demo_census.py",
          "label": "Runnable example and its input"
        },
        {
          "path": "app/demo-summary.json",
          "label": "Complete captured result"
        },
        {
          "path": "engine/inventory.py",
          "label": "engine/inventory.py"
        },
        {
          "path": "app/page.tsx",
          "label": "app/page.tsx"
        },
        {
          "path": "tests/rendered-html.test.mjs",
          "label": "tests/rendered-html.test.mjs"
        },
        {
          "path": "docs/WORKED-EXAMPLE.md",
          "label": "Four files become a census"
        },
        {
          "path": "docs/FUTURE-IDEAS.md",
          "label": "From census to possible daily docket"
        }
      ],
      "keywords": [
        "TypeScript",
        "Python",
        "personal information"
      ],
      "license": "MIT",
      "example": {
        "title": "See the idea in action.",
        "label": "Recorded synthetic example",
        "output_label": "Captured result",
        "description": "Two synthetic sources, four files, one exact duplicate group and zero read errors appear in the Sources panel.",
        "input": "Bundled synthetic source folders.",
        "output": "{\n  \"source_count\": 2,\n  \"file_count\": 4,\n  \"duplicate_group_count\": 1,\n  \"duplicate_file_count\": 2,\n  \"error_count\": 0,\n  \"mode\": \"synthetic demo\",\n  \"sources\": [\n    {\n      \"label\": \"Synthetic notes\",\n      \"file_count\": 2\n    },\n    {\n      \"label\": \"Synthetic code\",\n      \"file_count\": 2\n    }\n  ]\n}",
        "setup": "From the repository root, follow the dependency requirements in the README. This example uses supplied synthetic material.",
        "command": "npm ci\nnpm run demo:census\nnpm run build\nnpm start",
        "success": "Two synthetic sources, four files, one exact duplicate group and zero read errors appear in the Sources panel."
      },
      "family_ids": [
        "personal-dashboard"
      ],
      "lineage": {
        "package_kind": "integrated_snapshot",
        "package_kind_label": "Integrated source snapshot",
        "origin_summary": "First coherent slice of a local personal-intelligence dashboard.",
        "public_package_changes": "Preserves the interface, working source census and safety contracts with synthetic configuration.",
        "boundary": "Current census and interface do not establish the proposed indexing or recommendation system.",
        "documented_dates": [],
        "relationships": [
          {
            "target": "provenance-inventory",
            "relation": "has_extraction",
            "label": "Focused extraction",
            "visitor_value": "Inspect or reuse this boundary without navigating the whole application.",
            "caveat": "The parent retains its census implementation; the extract changes the output boundary.",
            "sources": [
              "https://github.com/CinvanaAI/provenance-inventory/blob/9a8531d2692983a86b0feb97c92a02a6f4e465ec/ORIGIN.md#L1-L7"
            ]
          }
        ],
        "sources": [
          "https://github.com/CinvanaAI/personal-intelligence-dashboard/blob/0ee28ab31d4f6f741b46d9307a04b94b0e151200/ORIGIN.md#L1-L20"
        ]
      }
    },
    {
      "slug": "project-blueprint-agent-team",
      "title": "Project Blueprint Agent Team",
      "job": "Follow six design roles from a project request to per-file implementation prompts.",
      "kind": "Experiment",
      "tags": [
        "Workflows & capabilities",
        "Code & architecture"
      ],
      "repository": "https://github.com/CinvanaAI/project-blueprint-agent-team",
      "mechanism": "Separate role outputs make a proposed design traceable before code creation begins.",
      "scope": "An executable experiment using supplied synthetic inputs.",
      "limits": [
        "The offline runner is deterministic; model quality is not demonstrated.",
        "Generated .py files are English prompts, not functioning code."
      ],
      "sources": [
        {
          "path": "blueprint_team/demo.py",
          "label": "Runnable example and its input"
        },
        {
          "path": "examples/captured-result.json",
          "label": "Complete captured result"
        },
        {
          "path": "blueprint_team/core.py",
          "label": "blueprint_team/core.py"
        }
      ],
      "keywords": [
        "Python",
        "workflow recipes",
        "planning"
      ],
      "license": "MIT",
      "example": {
        "title": "See the idea in action.",
        "label": "Recorded synthetic example",
        "output_label": "Captured result",
        "description": "Six design artifacts and per-file implementation prompts.",
        "input": "A project request passed through six named roles.",
        "output": "{\n  \"request\": \"Build a greeting tool\",\n  \"calls\": [\n    {\n      \"role\": \"prompt_interpreter\",\n      \"instruction\": \"Clarify scope, features, constraints, and assumptions. Return a structured project summary.\",\n      \"context_keys\": [\n        \"original_prompt\"\n      ]\n    },\n    {\n      \"role\": \"system_architect\",\n      \"instruction\": \"Design a complete folder and file blueprint from the clarified summary.\",\n      \"context_keys\": [\n        \"original_prompt\",\n        \"project_summary.md\"\n      ]\n    },\n    {\n      \"role\": \"dependency_mapper\",\n      \"instruction\": \"Explain dependencies and interactions among the proposed modules.\",\n      \"context_keys\": [\n        \"original_prompt\",\n        \"project_summary.md\",\n        \"folder_map.md\"\n      ]\n    },\n    {\n      \"role\": \"file_prompt_designer\",\n      \"instruction\": \"Return strict JSON with a files array. Each item needs a relative path and implementation prompt.\",\n      \"context_keys\": [\n        \"original_prompt\",\n        \"project_summary.md\",\n        \"folder_map.md\",\n        \"dependency_map.md\"\n      ]\n    },\n    {\n      \"role\": \"validator\",\n      \"instruction\": \"Check names, references, dependencies, completeness, and alignment with the original request.\",\n      \"context_keys\": [\n        \"original_prompt\",\n        \"project_summary.md\",\n        \"folder_map.md\",\n        \"dependency_map.md\",\n        \"file_prompts.json\"\n      ]\n    },\n    {\n      \"role\": \"spec_writer\",\n      \"instruction\": \"Compile the validated result into a concise downstream handoff without claiming code was built.\",\n      \"context_keys\": [\n        \"original_prompt\",\n        \"project_summary.md\",\n        \"folder_map.md\",\n        \"dependency_map.md\",\n        \"file_prompts.json\",\n        \"validation_report.md\"\n      ]\n    }\n  ],\n  \"role_artifacts\": {\n    \"project_summary.md\": \"# Clarified project\\n\\nBuild: Build a greeting tool\\n\\nConstraint: keep the example offline and testable.\",\n    \"folder_map.md\": \"# Folder map\\n\\n- `app/core.py`: domain behavior\\n- `tests/test_core.py`: offline verification\",\n    \"dependency_map.md\": \"# Dependencies\\n\\n`tests/test_core.py` imports `app/core.py`; the domain has no external service dependency.\",\n    \"file_prompts.json\": \"{\\n  \\\"files\\\": [\\n    {\\n      \\\"path\\\": \\\"app/core.py\\\",\\n      \\\"prompt\\\": \\\"Implement the clarified domain behavior.\\\"\\n    },\\n    {\\n      \\\"path\\\": \\\"tests/test_core.py\\\",\\n      \\\"prompt\\\": \\\"Test the public domain behavior offline.\\\"\\n    }\\n  ]\\n}\",\n    \"validation_report.md\": \"# Validation\\n\\nThe two files agree on names, dependency direction, and offline scope.\",\n    \"final_summary.md\": \"# Handoff\\n\\nThe project blueprint is internally consistent and ready for implementation review.\"\n  },\n  \"implementation_prompts\": {\n    \"project/app/core.py\": \"Implement the clarified domain behavior.\\n\",\n    \"project/tests/test_core.py\": \"Test the public domain behavior offline.\\n\"\n  },\n  \"software_implemented\": false\n}",
        "setup": "From the repository root, follow the dependency requirements in the README. This example uses supplied synthetic material.",
        "command": "python -m pip install -e .\npython -m blueprint_team \"Build a greeting tool\" --output ./demo-output",
        "success": "Six design artifacts and per-file implementation prompts."
      },
      "family_ids": [],
      "lineage": {
        "package_kind": "public_continuation",
        "package_kind_label": "Public continuation",
        "origin_summary": "An AutoGen role-based project design and implementation-prompt experiment.",
        "public_package_changes": "Decouples the provider, removes fixed private inputs and bounds materialization; supplies offline stages.",
        "boundary": "Outputs include implementation prompts, not a completed generated application; no specific platform parent is established.",
        "documented_dates": [],
        "relationships": [],
        "sources": [
          "https://github.com/CinvanaAI/project-blueprint-agent-team/blob/c603e5da9e07378cffe0f3be0317f0998fec7995/ORIGIN.md#L1-L5"
        ]
      }
    },
    {
      "slug": "python-agent-foundry-workbench",
      "title": "Python Agent Foundry Workbench",
      "job": "Build Python capability packages and assemble them into tasks in a desktop workbench.",
      "kind": "Workbench",
      "tags": [
        "Workflows & capabilities",
        "Code & architecture"
      ],
      "repository": "https://github.com/CinvanaAI/python-agent-foundry-workbench",
      "mechanism": "The authoring environment connects inspectable package definitions to concrete task assembly rather than treating prompts as the whole system.",
      "scope": "Source with a complete offline example.",
      "limits": [
        "Historical prototype; private connectors and optional skin are absent.",
        "The live task runner executes trusted code in process and does not enforce its timeout argument."
      ],
      "sources": [
        {
          "path": "examples/first_workflow.py",
          "label": "Runnable example and its input"
        },
        {
          "path": "examples/captured-result.json",
          "label": "Complete captured result"
        },
        {
          "path": "main.py",
          "label": "main.py"
        },
        {
          "path": "Environment/assembly/tabs/task_tabs.py",
          "label": "Environment/assembly/tabs/task_tabs.py"
        },
        {
          "path": "Operations/task_runner_core.py",
          "label": "Operations/task_runner_core.py"
        },
        {
          "path": "Operations/task_runner.py",
          "label": "Operations/task_runner.py"
        },
        {
          "path": "examples/revision_walkthrough.py",
          "label": "Run two saved revisions"
        },
        {
          "path": "examples/revision-result.json",
          "label": "Observed saved-revision outputs"
        }
      ],
      "keywords": [
        "Python",
        "desktop",
        "workflows"
      ],
      "license": "MIT",
      "example": {
        "title": "See the idea in action.",
        "label": "Recorded synthetic example",
        "output_label": "Captured result",
        "description": "A saved package and assembled agent task return {\"normalized\":\"hello foundry\"}.",
        "input": "A synthetic Python package and a workflow that calls it.",
        "output": "{\n  \"kind\": \"captured synthetic execution projection\",\n  \"command\": \"python -m examples.first_workflow --workspace ./demo-workspace\",\n  \"input_example\": \"examples/first_workflow.py\",\n  \"observed_output\": {\n    \"result\": {\n      \"normalized\": \"hello foundry\"\n    }\n  },\n  \"projection_note\": \"Selected fields from a successful local run. Machine paths, temporary identifiers and execution timestamps are omitted. Re-run the linked example for fresh evidence.\"\n}",
        "setup": "From the repository root, follow the dependency requirements in the README. This example uses supplied synthetic material.",
        "command": "python -m pip install -r requirements.txt\npython -m examples.first_workflow --workspace ./demo-workspace\npython main.py --workspace ./demo-workspace",
        "success": "A saved package and assembled agent task return {\"normalized\":\"hello foundry\"}."
      },
      "family_ids": [
        "builder-foundry"
      ],
      "lineage": {
        "package_kind": "integrated_snapshot",
        "package_kind_label": "Integrated source snapshot",
        "origin_summary": "Handcrafted April–June 2026 Python continuation of earlier Builder and Factory iterations.",
        "public_package_changes": "Preserves the integrated application while exposing five mechanisms through separate focused repositories.",
        "boundary": "A predecessor in system-design questions to later Skeleton, not a file-for-file version of the TypeScript rebuild.",
        "documented_dates": [
          {
            "value": "2026-04/2026-06",
            "precision": "month_range",
            "scope": "Stated period in which the historical Python working tree was built.",
            "is_project_start": false,
            "sources": [
              "https://github.com/CinvanaAI/python-agent-foundry-workbench/blob/c09aae3ec3790e45118b0494d42dc1bf90c08de1/ORIGIN.md#L3-L8"
            ]
          }
        ],
        "relationships": [
          {
            "target": "agent-assembly-runtime",
            "relation": "has_extraction",
            "label": "Focused extraction",
            "visitor_value": "Inspect or reuse this boundary without navigating the whole application.",
            "caveat": "The standalone boundary has documented public adaptations; this is not a promise of current drop-in interchangeability.",
            "sources": [
              "https://github.com/CinvanaAI/agent-assembly-runtime/blob/eaac77944f7655db4cc7767768030de76153d17b/ORIGIN.md#L1-L3"
            ]
          },
          {
            "target": "agent-chatroom-ledger",
            "relation": "has_extraction",
            "label": "Focused extraction",
            "visitor_value": "Inspect or reuse this boundary without navigating the whole application.",
            "caveat": "The standalone boundary has documented public adaptations; this is not a promise of current drop-in interchangeability.",
            "sources": [
              "https://github.com/CinvanaAI/agent-chatroom-ledger/blob/b5411a5215165e184cc7f467b99f65fef0f08f16/ORIGIN.md#L1-L5"
            ]
          },
          {
            "target": "agent-foundry-blueprint-compiler",
            "relation": "has_extraction",
            "label": "Focused extraction",
            "visitor_value": "Inspect or reuse this boundary without navigating the whole application.",
            "caveat": "The standalone boundary has documented public adaptations; this is not a promise of current drop-in interchangeability.",
            "sources": [
              "https://github.com/CinvanaAI/agent-foundry-blueprint-compiler/blob/8d3020e100e4aa6f0bff3f3cc4b2bd5fd8a0f8ce/ORIGIN.md#L1-L3"
            ]
          },
          {
            "target": "materialized-task-runner",
            "relation": "has_extraction",
            "label": "Focused extraction",
            "visitor_value": "Inspect or reuse this boundary without navigating the whole application.",
            "caveat": "The standalone boundary has documented public adaptations; this is not a promise of current drop-in interchangeability.",
            "sources": [
              "https://github.com/CinvanaAI/materialized-task-runner/blob/679a6267553068530105e1c377edbc34b96e84d0/ORIGIN.md#L1-L3"
            ]
          },
          {
            "target": "capability-graph-importer",
            "relation": "has_extraction",
            "label": "Focused extraction",
            "visitor_value": "Inspect or reuse this boundary without navigating the whole application.",
            "caveat": "Rebuilt from the historical script; the public interface now emits a plan.",
            "sources": [
              "https://github.com/CinvanaAI/capability-graph-importer/blob/7229972728d11ae97d2256ef54fd6f24412612a6/ORIGIN.md#L1-L3"
            ]
          },
          {
            "target": "skeleton",
            "relation": "later_design_generation",
            "label": "Later TypeScript workbench",
            "visitor_value": "See how the capability and ownership questions were carried into another architecture.",
            "caveat": "Not a source-compatible rewrite.",
            "sources": [
              "https://github.com/CinvanaAI/python-agent-foundry-workbench/blob/c09aae3ec3790e45118b0494d42dc1bf90c08de1/ORIGIN.md#L3-L8"
            ]
          },
          {
            "target": "builder-prototypes",
            "relation": "earlier_experiment_represented_by",
            "label": "Earlier orchestration experiment",
            "visitor_value": "See a public continuation representing earlier Builder/Factory work named in the Foundry origin.",
            "caveat": "The linked public package is an adapted representative, not the entire historical source tree.",
            "sources": [
              "https://github.com/CinvanaAI/python-agent-foundry-workbench/blob/c09aae3ec3790e45118b0494d42dc1bf90c08de1/ORIGIN.md#L3-L8",
              "https://github.com/CinvanaAI/builder-prototypes/blob/a8243e70cde2243e077433211ab34844ed219f47/ORIGIN.md#L1-L7"
            ]
          },
          {
            "target": "ai-software-factory-prototype",
            "relation": "earlier_experiment_represented_by",
            "label": "Earlier orchestration experiment",
            "visitor_value": "See a public continuation representing earlier Builder/Factory work named in the Foundry origin.",
            "caveat": "The linked public package is an adapted representative, not the entire historical source tree.",
            "sources": [
              "https://github.com/CinvanaAI/python-agent-foundry-workbench/blob/c09aae3ec3790e45118b0494d42dc1bf90c08de1/ORIGIN.md#L3-L8",
              "https://github.com/CinvanaAI/ai-software-factory-prototype/blob/dc9f70a554cb26a96afcf0fc26810296b7ddcab9/ORIGIN.md#L1-L5"
            ]
          }
        ],
        "sources": [
          "https://github.com/CinvanaAI/python-agent-foundry-workbench/blob/c09aae3ec3790e45118b0494d42dc1bf90c08de1/ORIGIN.md#L1-L10"
        ]
      }
    },
    {
      "slug": "seven-ownership-architecture",
      "title": "The Seven Ownership Architecture",
      "job": "Map who owns each responsibility in a system and separate its identity, current state and next ideas.",
      "kind": "Method",
      "tags": [
        "Code & architecture"
      ],
      "repository": "https://github.com/CinvanaAI/seven-ownership-architecture",
      "mechanism": "Keeping identity, current implementation and future intent separate prevents architectural documents from claiming planned behavior already exists.",
      "scope": "A worked design method and examples.",
      "limits": [
        "A proposed design method, not a proof of the universally correct number of components."
      ],
      "sources": [
        {
          "path": "examples/csv-import/README.md",
          "label": "Worked scenario and input"
        },
        {
          "path": "examples/csv-import/CURRENT-STRUCTURE.md",
          "label": "Complete worked example"
        },
        {
          "path": "THE-7-LAWS-OF-THE-7-OWNERSHIPS.md",
          "label": "THE-7-LAWS-OF-THE-7-OWNERSHIPS.md"
        },
        {
          "path": "TEMPLATES/CURRENT-STRUCTURE.md",
          "label": "TEMPLATES/CURRENT-STRUCTURE.md"
        },
        {
          "path": "PRESSURE-SIGNALS.md",
          "label": "PRESSURE-SIGNALS.md"
        },
        {
          "path": "scripts/check_docs.py",
          "label": "scripts/check_docs.py"
        },
        {
          "path": "examples/csv-import/DECISION-RECORD.md",
          "label": "Worked ownership decision and tradeoff"
        }
      ],
      "keywords": [
        "architecture",
        "documentation",
        "methods"
      ],
      "license": "MIT",
      "example": {
        "title": "See the idea in action.",
        "label": "Worked design example",
        "output_label": "Authored example",
        "description": "A worked ownership map and separate identity, current-state and future-direction records.",
        "input": "A small CSV importer with responsibilities mixed into its interface.",
        "output": "# CSV importer: current structure\n\nAudit snapshot: **designed scenario**, not observed external software. Confidence applies only to the stated example. Evidence anchor: the callback described in README.md.\n\nThe button callback performs external reading, rule decisions, orchestration, persistence and rendering. No separate headless entrypoint exists in the scenario. Files are not yet separated into the proposed owners.\n\nPressure signal: a command-line import would duplicate column validation. Strength: strong within this scenario. Risk: the desktop and command-line paths could accept different schemas while both say “valid.”\n\nCorrectly placed: selecting a file and rendering user feedback belong to the interface. Fused responsibility: choosing the rules and persisting the accepted rows do not need to depend on that interface.\n\nOpen question for a real audit: is a separate import runner already present elsewhere? Inspect the call path before claiming it is missing.\n",
        "setup": "Open the worked CSV import scenario. Follow how each responsibility owns a decision, its evidence, and its handoff; no installation is needed.",
        "command": "",
        "success": "A worked ownership map and separate identity, current-state and future-direction records."
      },
      "family_ids": [
        "skeleton-rebuild"
      ],
      "lineage": {
        "package_kind": "worked_method",
        "package_kind_label": "Worked architecture method",
        "origin_summary": "Ownership architecture developed during Skeleton rebuilding.",
        "public_package_changes": "Preserves normative laws and dated application audits, with a worked example.",
        "boundary": "The method and historical audit claims are separate from the current executable Skeleton implementation.",
        "documented_dates": [],
        "relationships": [
          {
            "target": "skeleton",
            "relation": "architecture_for",
            "label": "Implementation and migration case",
            "visitor_value": "Read the method alongside the implementation it was developed to govern.",
            "caveat": "Normative law, dated audit conclusions and current code are different evidence types.",
            "sources": [
              "https://github.com/CinvanaAI/seven-ownership-architecture/blob/bace97dae45a85fd4fb84ca4d4dc0069c2e671ad/ORIGIN.md#L1-L7"
            ]
          }
        ],
        "sources": [
          "https://github.com/CinvanaAI/seven-ownership-architecture/blob/bace97dae45a85fd4fb84ca4d4dc0069c2e671ad/ORIGIN.md#L1-L7"
        ]
      }
    },
    {
      "slug": "skeleton",
      "title": "Skeleton",
      "job": "Explore a local workbench for publishing capability versions and recording permitted or refused execution.",
      "kind": "Workbench",
      "tags": [
        "Workflows & capabilities",
        "Code & architecture"
      ],
      "repository": "https://github.com/CinvanaAI/Skeleton",
      "mechanism": "The integrated workbench makes package lifecycle, agent policy and execution evidence visible together.",
      "scope": "Later TypeScript workbench with real local Python execution. It is separate from the historical Python node-graph generation.",
      "limits": [
        "Trusted Python runs with the local process permissions. Application policy is not an OS sandbox or API authentication.",
        "The checked browser path uses seeded packages and synthetic data. Electron and live model inference were not exercised.",
        "The original Python graph editor and historical embedded Rubric Rumble are not in this later source snapshot."
      ],
      "sources": [
        {
          "path": "scripts/example.mjs",
          "label": "Complete reproducible runtime example"
        },
        {
          "path": "examples/result.json",
          "label": "Captured example result"
        },
        {
          "path": "docs/DESIGN-WALKTHROUGH.md",
          "label": "Source-linked mechanism walkthrough"
        },
        {
          "path": "owners/capability-platform/src/service.ts",
          "label": "Package validation, publication, and authorization"
        },
        {
          "path": "examples/trace.json",
          "label": "Exact sources and outputs across three releases"
        }
      ],
      "license": "MIT",
      "example": {
        "title": "A function becomes a version you can run.",
        "label": "Actual local execution with synthetic input",
        "description": "An unpublished action is refused. Editing the draft leaves v1 unchanged; publishing v2 changes the output, and rollback creates v3 with the earlier behavior. The original v1 record remains unchanged.",
        "input": "{\"value\":\"  hello   world  \"}",
        "output": "{\n  \"example\": \"Text Normalizer: draft to recorded execution\",\n  \"input\": {\n    \"value\": \"  hello   world  \"\n  },\n  \"unpublished_request\": {\n    \"http_status\": 403,\n    \"status\": \"denied\",\n    \"reasons\": [\n      \"Package has no published release.\",\n      \"Published release record is missing.\",\n      \"Published release validation is not passing.\"\n    ]\n  },\n  \"validation\": true,\n  \"published_version\": 1,\n  \"execution\": {\n    \"status\": \"complete\",\n    \"output\": \"hello world\"\n  },\n  \"external_model_calls\": 0,\n  \"scope\": \"Actual local runtime and Python execution with synthetic text. This is not a security sandbox.\"\n}\n",
        "setup": "Node.js 20+ and Python 3.10+. Run from a fresh checkout; no model account is needed.",
        "command": "npm ci --ignore-scripts\nnpm run build\nnpm run demo",
        "success": "An unpublished action is refused. Editing the draft leaves v1 unchanged; publishing v2 changes the output, and rollback creates v3 with the earlier behavior. The original v1 record remains unchanged."
      },
      "family_ids": [
        "skeleton-rebuild"
      ],
      "lineage": {
        "package_kind": "integrated_snapshot",
        "package_kind_label": "Integrated source snapshot",
        "origin_summary": "Later owner-governed TypeScript composition host from the broader local workbench.",
        "public_package_changes": "Publishes the complete newer rebuild, owner contracts and migration evidence; excludes the legacy application.",
        "boundary": "Neither the historical Python node-graph workbench nor a file-for-file port; current code must not be described as embedding this Rubric Rumble release.",
        "documented_dates": [],
        "relationships": [
          {
            "target": "capability-package-workbench",
            "relation": "has_extraction",
            "label": "Focused extraction",
            "visitor_value": "Inspect or reuse this boundary without navigating the whole application.",
            "caveat": "The parent implementation remains present. The relationship is provenance, not a package-manager dependency.",
            "sources": [
              "https://github.com/CinvanaAI/capability-package-workbench/blob/9faa0838af33d9923fe83f5cfc3923cfcb1b0995/ORIGIN.md#L1-L7"
            ]
          },
          {
            "target": "agent-workflow-governance",
            "relation": "has_extraction",
            "label": "Focused extraction",
            "visitor_value": "Inspect or reuse this boundary without navigating the whole application.",
            "caveat": "The parent implementation remains present. The relationship is provenance, not a package-manager dependency.",
            "sources": [
              "https://github.com/CinvanaAI/agent-workflow-governance/blob/4cf23398532b75ba60d6001377bfaa45c60d7b63/ORIGIN.md#L1-L5"
            ]
          },
          {
            "target": "bounded-execution-ledger",
            "relation": "has_extraction",
            "label": "Focused extraction",
            "visitor_value": "Inspect or reuse this boundary without navigating the whole application.",
            "caveat": "The parent implementation remains present. The relationship is provenance, not a package-manager dependency.",
            "sources": [
              "https://github.com/CinvanaAI/bounded-execution-ledger/blob/e60d8501d55fe5e25026b34a4df2d3f0eddb006a/ORIGIN.md#L1-L5"
            ]
          },
          {
            "target": "python-agent-foundry-workbench",
            "relation": "design_predecessor",
            "label": "Earlier Python workbench",
            "visitor_value": "Compare the earlier integrated implementation with the later ownership-governed architecture.",
            "caveat": "Carries questions forward; not a file-for-file port and not a statement about every historical Skeleton generation.",
            "sources": [
              "https://github.com/CinvanaAI/python-agent-foundry-workbench/blob/c09aae3ec3790e45118b0494d42dc1bf90c08de1/ORIGIN.md#L3-L8",
              "https://github.com/CinvanaAI/Skeleton/blob/9ecf3a02679924fc1b1a5f6a1fabe88304402c07/ORIGIN.md#L7-L12"
            ]
          },
          {
            "target": "seven-ownership-architecture",
            "relation": "documented_by",
            "label": "Ownership method",
            "visitor_value": "Inspect the architecture and its worked review method independently.",
            "caveat": "",
            "sources": [
              "https://github.com/CinvanaAI/seven-ownership-architecture/blob/bace97dae45a85fd4fb84ca4d4dc0069c2e671ad/ORIGIN.md#L1-L7"
            ]
          }
        ],
        "sources": [
          "https://github.com/CinvanaAI/Skeleton/blob/9ecf3a02679924fc1b1a5f6a1fabe88304402c07/ORIGIN.md#L1-L29"
        ]
      }
    },
    {
      "slug": "verified-completion-kernel",
      "title": "Verified Completion Kernel",
      "job": "Check a task against stated completion rules and retain what remains unfinished or needs review.",
      "kind": "Library",
      "tags": [
        "Workflows & capabilities"
      ],
      "repository": "https://github.com/CinvanaAI/verified-completion-kernel",
      "mechanism": "Completion can be a record of specific satisfied and unresolved obligations rather than a free-form claim that the task is done.",
      "scope": "Source with a complete offline example.",
      "limits": [
        "Semantic/model checks are not implemented by the deterministic verifier.",
        "The existing CLI exits zero for partial as well as verified; inspect result status for automation."
      ],
      "sources": [
        {
          "path": "examples/demo.py",
          "label": "Runnable example and its input"
        },
        {
          "path": "examples/captured-result.json",
          "label": "Complete captured result"
        },
        {
          "path": "src/pks/verifier/deterministic.py",
          "label": "src/pks/verifier/deterministic.py"
        },
        {
          "path": "src/pks/cli.py",
          "label": "src/pks/cli.py"
        },
        {
          "path": "src/pks/models/verification.py",
          "label": "src/pks/models/verification.py"
        }
      ],
      "keywords": [
        "Python",
        "verification",
        "completion"
      ],
      "license": "MIT",
      "example": {
        "title": "See the idea in action.",
        "label": "Recorded synthetic example",
        "output_label": "Captured result",
        "description": "fail → fail → pass; an unimplemented semantic check remains requires_review.",
        "input": "An explicit artifact-completion rule and successive missing, stub and substantive files.",
        "output": "{\n  \"kind\": \"captured synthetic execution projection\",\n  \"command\": \"python -m examples.demo\",\n  \"input_example\": \"examples/demo.py\",\n  \"observed_output\": {\n    \"stages\": [\n      \"fail\",\n      \"fail\",\n      \"pass\"\n    ],\n    \"semantic_check\": \"requires_review\"\n  },\n  \"projection_note\": \"Selected fields from a successful local run. Machine paths, temporary identifiers and execution timestamps are omitted. Re-run the linked example for fresh evidence.\"\n}",
        "setup": "From the repository root, follow the dependency requirements in the README. This example uses supplied synthetic material.",
        "command": "python -m pip install -e .\npython -m examples.demo",
        "success": "fail → fail → pass; an unimplemented semantic check remains requires_review."
      },
      "family_ids": [],
      "lineage": {
        "package_kind": "focused_extraction",
        "package_kind_label": "Focused extraction",
        "origin_summary": "The pks procedural verification layer beneath a larger semantic-memory workflow.",
        "public_package_changes": "Preserves models, verifier, artifact writers, rules, resume records and API; packages generic examples.",
        "boundary": "The larger private memory workflow and a semantic/model verifier are not supplied.",
        "documented_dates": [],
        "relationships": [],
        "sources": [
          "https://github.com/CinvanaAI/verified-completion-kernel/blob/8725812aa5dd2f4d7e745eafa51695745d8e3b98/ORIGIN.md#L1-L20"
        ]
      }
    },
    {
      "slug": "cinvana-conversation-engine",
      "title": "Conversation Engine",
      "job": "Keep a conversation and its changing transformations traceable in a recoverable local vault.",
      "kind": "Workbench",
      "tags": [
        "Conversations & archives"
      ],
      "repository": "https://github.com/CinvanaAI/cinvana-conversation-engine",
      "mechanism": "Current state is a reference graph of immutable source/contracts/results, not a pile of mutable exported copies.",
      "scope": "Source with a complete offline example.",
      "limits": [
        "The engine does not supply a semantic model. The demo supplies labeled fixture replies; real operation needs a feeder, an approved mapping definition and a worker that returns the documented files. New vault intake begins paused. Use a short runtime root on Windows."
      ],
      "sources": [
        {
          "path": "examples/result.json",
          "label": "Complete captured result"
        },
        {
          "path": "conversation_engine/service.py",
          "label": "conversation_engine/service.py"
        },
        {
          "path": "conversation_engine/cli.py",
          "label": "conversation_engine/cli.py"
        },
        {
          "path": "tests/test_workspaces_and_contracts.py",
          "label": "tests/test_workspaces_and_contracts.py"
        },
        {
          "path": "AGENTS.md",
          "label": "AGENTS.md"
        }
      ],
      "keywords": [
        "conversations",
        "provenance",
        "storage"
      ],
      "license": "MIT",
      "example": {
        "title": "See the idea in action.",
        "label": "Recorded synthetic example",
        "output_label": "Captured result",
        "description": "All six stages acquire current results; level 9 resolves to “Review the fixture.” The demo creates and removes its own disposable vault.",
        "input": "A source message, an explicitly configured Workshop mapping, and three synthetic worker replies.",
        "output": "{\n  \"mode\": \"Synthetic worker replies; actual engine intake and validation\",\n  \"source\": \"Morgan will review the fixture.\",\n  \"public_message\": \"Morgan will review the fixture.\",\n  \"short_private_version\": \"Review the fixture.\",\n  \"completed_stages\": {\n    \"mapping\": \"mapping\",\n    \"public_safety\": \"redactions\",\n    \"original_versions\": \"versions\",\n    \"public_versions\": \"result_pointer\",\n    \"discord_original\": \"source_pointer\",\n    \"discord_public\": \"result_pointer\"\n  },\n  \"worker_replies\": [\n    \"public_safety\",\n    \"original_versions\",\n    \"mapping\"\n  ],\n  \"worker_exchanges\": [\n    {\n      \"stage\": \"public_safety\",\n      \"source_text\": \"Morgan will review the fixture.\",\n      \"input_files\": [\n        \"instructions.md\",\n        \"message.txt\",\n        \"request.json\"\n      ],\n      \"returned_files\": {\n        \"response.json\": \"{\\\"decision\\\": \\\"Public\\\", \\\"redactions\\\": []}\"\n      }\n    },\n    {\n      \"stage\": \"original_versions\",\n      \"source_text\": \"Morgan will review the fixture.\",\n      \"input_files\": [\n        \"instructions.md\",\n        \"message.txt\",\n        \"request.json\"\n      ],\n      \"returned_files\": {\n        \"version_1.txt\": \"Review the fixture.\"\n      }\n    },\n    {\n      \"stage\": \"mapping\",\n      \"source_text\": \"Morgan will review the fixture.\",\n      \"input_files\": [\n        \"instructions.md\",\n        \"mapping_context.md\",\n        \"mapping_reference.json\",\n        \"message.txt\",\n        \"request.json\"\n      ],\n      \"returned_files\": {\n        \"response.json\": \"{\\\"discord_public_indexing\\\": [\\\"Workshop\\\"]}\"\n      }\n    }\n  ],\n  \"input_envelope\": {\n    \"chat\": {\n      \"chat_id\": \"synthetic-workshop\",\n      \"destination_rel_path\": \"Archived/synthetic-workshop\",\n      \"position\": 1\n    },\n    \"message\": {\n      \"speaker\": \"User\",\n      \"timestamp\": \"2026-01-01T12:00:00+00:00\",\n      \"text\": \"Morgan will review the fixture.\"\n    }\n  },\n  \"live_model_calls\": 0\n}",
        "setup": "From the repository root, follow the dependency requirements in the README. This example uses supplied synthetic material.",
        "command": "python -m pip install -e .\npython -m examples.offline_demo",
        "success": "All six stages acquire current results; level 9 resolves to “Review the fixture.” The demo creates and removes its own disposable vault."
      },
      "family_ids": [
        "conversation-archive"
      ],
      "lineage": {
        "package_kind": "integrated_snapshot",
        "package_kind_label": "Integrated source snapshot",
        "origin_summary": "Reviewed source snapshot of the live Conversation Engine implementation.",
        "public_package_changes": "Copies its allowed implementation boundary without the Runtime directory and supplies public documentation.",
        "boundary": "A local transformation vault; feeders and consumers remain separate systems.",
        "documented_dates": [],
        "relationships": [
          {
            "target": "chatgpt-export-to-conversation-engine",
            "relation": "has_external_feeder",
            "label": "ChatGPT migration feeder",
            "visitor_value": "Use a separate export toolkit to prepare and deposit source envelopes.",
            "caveat": "",
            "sources": [
              "https://github.com/CinvanaAI/chatgpt-export-to-conversation-engine/blob/93963b5b262d5581464db34f26c543ebb039ff2a/ORIGIN.md#L21-L21"
            ]
          },
          {
            "target": "cinvana-discord-engine",
            "relation": "has_external_consumer",
            "label": "Discord archive consumer",
            "visitor_value": "See a separate archive projection and publication system.",
            "caveat": "Conversation Engine itself does not own Discord delivery.",
            "sources": [
              "https://github.com/CinvanaAI/cinvana-discord-engine/blob/d88d656aedf9e694006b85b54bc640cf9ceb2dd7/README.md#L32-L32"
            ]
          }
        ],
        "sources": [
          "https://github.com/CinvanaAI/cinvana-conversation-engine/blob/a1be17006c95d96d942bfc027c883b4d6e75bde1/ORIGIN.md#L1-L12"
        ]
      }
    },
    {
      "slug": "cinvana-discord-engine",
      "title": "Conversation Archive for Discord",
      "job": "Turn a local conversation collection into an ordered Discord archive, previewing changes before sending.",
      "kind": "Tool",
      "tags": [
        "Conversations & archives",
        "Games & interaction"
      ],
      "repository": "https://github.com/CinvanaAI/cinvana-discord-engine",
      "mechanism": "Desired archive order and physical Discord message slots are distinct; stable slots can be edited instead of rebuilding the whole archive.",
      "scope": "Source with a complete offline example.",
      "limits": [
        "The offline example verifies projection and planning. Live archive reads require a Conversation Engine installation and its configured root; publication additionally requires a visitor-owned bot, guild IDs and suitable Discord permissions."
      ],
      "sources": [
        {
          "path": "examples/result.json",
          "label": "Complete captured result"
        },
        {
          "path": "discord_engine/reconciler.py",
          "label": "discord_engine/reconciler.py"
        },
        {
          "path": "discord_engine/cli.py",
          "label": "discord_engine/cli.py"
        },
        {
          "path": "tests/test_ce_projection.py",
          "label": "tests/test_ce_projection.py"
        }
      ],
      "keywords": [
        "Discord",
        "archives",
        "projection"
      ],
      "license": "MIT",
      "example": {
        "title": "See the idea in action.",
        "label": "Recorded synthetic example",
        "output_label": "Captured result",
        "description": "A year/category, month/channel and two dated threads are planned with real source bindings. Publication remains paused and Discord receives zero calls.",
        "input": "Two synthetic Conversation Engine chunks on consecutive days.",
        "output": "{\n  \"mode\": \"Synthetic CE chunks; actual archive projection\",\n  \"source_messages\": [\n    \"First, review the fixture.\",\n    \"Then, record the result.\"\n  ],\n  \"projection\": {\n    \"guild_key\": \"demo\",\n    \"source_system\": \"synthetic-ce\",\n    \"start\": \"2026-01-01\",\n    \"end\": \"2026-01-02\",\n    \"chunks_projected\": 2,\n    \"days_with_content\": 2,\n    \"placeholders_removed\": 0,\n    \"categories\": 1,\n    \"channels\": 1,\n    \"threads\": 2,\n    \"messages\": 4,\n    \"projection_states\": {\n      \"unpublished\": 2\n    }\n  },\n  \"publication_paused\": true,\n  \"remaining_actions\": {\n    \"categories\": 1,\n    \"channels\": 1,\n    \"threads\": 2,\n    \"messages\": 4\n  },\n  \"sample\": [\n    {\n      \"day_date\": \"2026-01-01\",\n      \"category_name\": \"2026\",\n      \"channel_name\": \"2026-01\",\n      \"thread_name\": \"2026-01-01\",\n      \"intended_messages\": 2,\n      \"created_messages\": 0\n    },\n    {\n      \"day_date\": \"2026-01-02\",\n      \"category_name\": \"2026\",\n      \"channel_name\": \"2026-01\",\n      \"thread_name\": \"2026-01-02\",\n      \"intended_messages\": 2,\n      \"created_messages\": 0\n    }\n  ],\n  \"queue_plan\": {\n    \"guild_key\": \"demo\",\n    \"generation_id\": 1,\n    \"canceled_stale_operations\": 0,\n    \"enqueued_operations\": 8,\n    \"relinked_slots\": 0,\n    \"containers_checked\": 2,\n    \"operations_by_type\": {\n      \"CREATE_CATEGORY\": 1,\n      \"CREATE_CHANNEL\": 1,\n      \"CREATE_THREAD_STARTER\": 2,\n      \"CREATE_THREAD\": 2,\n      \"CREATE_MESSAGE\": 2\n    }\n  },\n  \"queue_summary\": {\n    \"pending\": 8\n  },\n  \"operations\": [\n    {\n      \"type\": \"CREATE_CATEGORY\",\n      \"priority\": 10,\n      \"payload\": {\n        \"category_key\": \"demo:category:year:2026\"\n      }\n    },\n    {\n      \"type\": \"CREATE_CHANNEL\",\n      \"priority\": 20,\n      \"payload\": {\n        \"category_key\": \"demo:category:year:2026\",\n        \"channel_key\": \"demo:channel:month:2026-01\"\n      }\n    },\n    {\n      \"type\": \"CREATE_THREAD_STARTER\",\n      \"priority\": 30,\n      \"payload\": {\n        \"channel_key\": \"demo:channel:month:2026-01\",\n        \"message_key\": \"demo:message:day:2026-01-01:starter\",\n        \"thread_key\": \"demo:thread:day:2026-01-01\"\n      }\n    },\n    {\n      \"type\": \"CREATE_THREAD_STARTER\",\n      \"priority\": 30,\n      \"payload\": {\n        \"channel_key\": \"demo:channel:month:2026-01\",\n        \"message_key\": \"demo:message:day:2026-01-02:starter\",\n        \"thread_key\": \"demo:thread:day:2026-01-02\"\n      }\n    },\n    {\n      \"type\": \"CREATE_THREAD\",\n      \"priority\": 31,\n      \"payload\": {\n        \"channel_key\": \"demo:channel:month:2026-01\",\n        \"starter_message_key\": \"demo:message:day:2026-01-01:starter\",\n        \"thread_key\": \"demo:thread:day:2026-01-01\"\n      }\n    },\n    {\n      \"type\": \"CREATE_THREAD\",\n      \"priority\": 31,\n      \"payload\": {\n        \"channel_key\": \"demo:channel:month:2026-01\",\n        \"starter_message_key\": \"demo:message:day:2026-01-02:starter\",\n        \"thread_key\": \"demo:thread:day:2026-01-02\"\n      }\n    },\n    {\n      \"type\": \"CREATE_MESSAGE\",\n      \"priority\": 51,\n      \"payload\": {\n        \"container_key\": \"demo:thread:day:2026-01-01\",\n        \"message_key\": \"demo:message:ce:message-1:private:1\",\n        \"slot_index\": 1\n      }\n    },\n    {\n      \"type\": \"CREATE_MESSAGE\",\n      \"priority\": 51,\n      \"payload\": {\n        \"container_key\": \"demo:thread:day:2026-01-02\",\n        \"message_key\": \"demo:message:ce:message-2:private:1\",\n        \"slot_index\": 1\n      }\n    }\n  ],\n  \"discord_calls\": 0\n}",
        "setup": "From the repository root, follow the dependency requirements in the README. This example uses supplied synthetic material.",
        "command": "python -m pip install -e .\npython -m examples.offline_demo",
        "success": "A year/category, month/channel and two dated threads are planned with real source bindings. Publication remains paused and Discord receives zero calls."
      },
      "family_ids": [
        "conversation-archive"
      ],
      "lineage": {
        "package_kind": "integrated_snapshot",
        "package_kind_label": "Integrated source snapshot",
        "origin_summary": "Reviewed source snapshot of CinvanaAI Discord Engine.",
        "public_package_changes": "Retains source, tests and configuration with private runtime state and machine paths excluded.",
        "boundary": "It consumes configured Conversation Engine data; live publication also requires a visitor-owned Discord setup.",
        "documented_dates": [],
        "relationships": [
          {
            "target": "discord-topology-reconciler",
            "relation": "has_extraction",
            "label": "Focused extraction",
            "visitor_value": "Inspect or reuse this boundary without navigating the whole application.",
            "caveat": "The smaller package re-expresses the retained planning mechanics through a new in-memory contract.",
            "sources": [
              "https://github.com/CinvanaAI/discord-topology-reconciler/blob/9e9a9ba5d135ef78d87be5a2ccf8aeb7b8f0e8d9/ORIGIN.md#L1-L11"
            ]
          },
          {
            "target": "cinvana-conversation-engine",
            "relation": "consumes_from",
            "label": "Conversation source",
            "visitor_value": "Understand the archive source that live projection reads.",
            "caveat": "A configured source integration, not a shared-code ancestry claim.",
            "sources": [
              "https://github.com/CinvanaAI/cinvana-discord-engine/blob/d88d656aedf9e694006b85b54bc640cf9ceb2dd7/README.md#L32-L32"
            ]
          }
        ],
        "sources": [
          "https://github.com/CinvanaAI/cinvana-discord-engine/blob/d88d656aedf9e694006b85b54bc640cf9ceb2dd7/ORIGIN.md#L1-L13"
        ]
      }
    },
    {
      "slug": "codex-judge-loop",
      "title": "Codex Judge Loop",
      "job": "Run a bounded coding-and-review cycle and retain each phase, including a stop before implementation.",
      "kind": "Tool",
      "tags": [
        "Models & evaluation",
        "Code & architecture"
      ],
      "repository": "https://github.com/CinvanaAI/codex-judge-loop",
      "mechanism": "An independent judgment can gate a single next step without creating an infinite autonomous loop.",
      "scope": "Source with a complete offline example.",
      "limits": [
        "Missing thread identity, failed commands and malformed judgments stop the cycle. The judge sees bounded event/Git evidence, not a proof of correctness. Usage estimates require supplied rates and complete returned counts; cached billing is not priced here."
      ],
      "sources": [
        {
          "path": "examples/result.json",
          "label": "Complete captured result"
        },
        {
          "path": "src/codex_judge_loop/runner.py",
          "label": "src/codex_judge_loop/runner.py"
        },
        {
          "path": "src/codex_judge_loop/cli.py",
          "label": "src/codex_judge_loop/cli.py"
        },
        {
          "path": "tests/test_runner.py",
          "label": "tests/test_runner.py"
        },
        {
          "path": "examples/stop-result.json",
          "label": "Stopped cycle: implementation never starts"
        }
      ],
      "keywords": [
        "agents",
        "review",
        "evidence"
      ],
      "license": "MIT",
      "example": {
        "title": "See the idea in action.",
        "label": "Recorded synthetic example",
        "output_label": "Captured result",
        "description": "The approved example records two commands and two judgments. The STOP variant omits implementation. Neither example launches Codex, edits a repository or calls a model.",
        "input": "Synthetic strategy events and explicit FOLLOW_STRATEGY or STOP judgments.",
        "output": "{\n  \"mode\": \"synthetic boundaries; actual run_cycle coordinator\",\n  \"status\": \"completed\",\n  \"codex_commands\": 2,\n  \"judge_calls\": 2,\n  \"resume_target\": \"synthetic-demo-thread\",\n  \"strategy_decision\": \"FOLLOW_STRATEGY\",\n  \"implementation_decision\": \"STOP\",\n  \"implementation_skipped\": false,\n  \"stop_reason\": null,\n  \"commands\": [\n    [\n      \"synthetic-codex\",\n      \"exec\",\n      \"--json\",\n      \"--sandbox\",\n      \"read-only\",\n      \"Propose one check.\"\n    ],\n    [\n      \"synthetic-codex\",\n      \"exec\",\n      \"--json\",\n      \"--sandbox\",\n      \"workspace-write\",\n      \"resume\",\n      \"synthetic-demo-thread\",\n      \"Implement the one approved empty-input check.\"\n    ]\n  ],\n  \"evidence\": {\n    \"strategy\": {\n      \"packet\": {\n        \"phase\": \"strategy\",\n        \"thread_id\": \"synthetic-demo-thread\",\n        \"codex_exit_code\": 0,\n        \"git_before_status\": \"\",\n        \"git_after_status\": \"\",\n        \"git_diff_stat\": \"\",\n        \"git_changed_names\": \"\",\n        \"event_counts\": {\n          \"thread.started\": 1,\n          \"item.completed\": 1,\n          \"turn.completed\": 1\n        },\n        \"terminal_events\": [\n          {\n            \"type\": \"turn.completed\"\n          }\n        ],\n        \"error_events\": [],\n        \"text_candidates\": [\n          \"Synthetic proposal: add one explicit empty-input check and verify it.\"\n        ],\n        \"stdout_tail\": \"{\\\"type\\\": \\\"thread.started\\\", \\\"thread_id\\\": \\\"synthetic-demo-thread\\\"}\\n{\\\"type\\\": \\\"item.completed\\\", \\\"item\\\": {\\\"type\\\": \\\"agent_message\\\", \\\"text\\\": \\\"Synthetic proposal: add one explicit empty-input check and verify it.\\\"}}\\n{\\\"type\\\": \\\"turn.completed\\\"}\",\n        \"stderr_tail\": \"\"\n      },\n      \"decision\": {\n        \"decision\": \"FOLLOW_STRATEGY\",\n        \"reason\": \"Synthetic reviewer accepts this single bounded step.\",\n        \"confidence\": 0.8,\n        \"risk_flags\": [],\n        \"follow_prompt\": \"Implement the one approved empty-input check.\"\n      }\n    },\n    \"implementation\": {\n      \"packet\": {\n        \"phase\": \"implementation\",\n        \"thread_id\": \"synthetic-demo-thread\",\n        \"codex_exit_code\": 0,\n        \"git_before_status\": \"\",\n        \"git_after_status\": \"\",\n        \"git_diff_stat\": \"\",\n        \"git_changed_names\": \"\",\n        \"event_counts\": {\n          \"thread.started\": 1,\n          \"item.completed\": 1,\n          \"turn.completed\": 1\n        },\n        \"terminal_events\": [\n          {\n            \"type\": \"turn.completed\"\n          }\n        ],\n        \"error_events\": [],\n        \"text_candidates\": [\n          \"Synthetic proposal: add one explicit empty-input check and verify it.\"\n        ],\n        \"stdout_tail\": \"{\\\"type\\\": \\\"thread.started\\\", \\\"thread_id\\\": \\\"synthetic-demo-thread\\\"}\\n{\\\"type\\\": \\\"item.completed\\\", \\\"item\\\": {\\\"type\\\": \\\"agent_message\\\", \\\"text\\\": \\\"Synthetic proposal: add one explicit empty-input check and verify it.\\\"}}\\n{\\\"type\\\": \\\"turn.completed\\\"}\",\n        \"stderr_tail\": \"\"\n      },\n      \"decision\": {\n        \"decision\": \"STOP\",\n        \"reason\": \"Synthetic reviewer accepts this single bounded step.\",\n        \"confidence\": 0.8,\n        \"risk_flags\": [],\n        \"next_prompt\": \"\"\n      }\n    }\n  }\n}",
        "setup": "From the repository root, follow the dependency requirements in the README. This example uses supplied synthetic material.",
        "command": "python -m pip install -e .\npython -m examples.offline_cycle\npython -m examples.offline_cycle --stop",
        "success": "The approved example records two commands and two judgments. The STOP variant omits implementation. Neither example launches Codex, edits a repository or calls a model."
      },
      "family_ids": [],
      "lineage": {
        "package_kind": "focused_extraction",
        "package_kind_label": "Focused extraction",
        "origin_summary": "Working one-cycle Codex strategy/implementation probe with a separate judge.",
        "public_package_changes": "Replaces the private architecture prompt and paths, adds explicit gates and captures phase evidence.",
        "boundary": "The origin does not establish it as an extraction from Governed Change Workbench or another public project.",
        "documented_dates": [],
        "relationships": [],
        "sources": [
          "https://github.com/CinvanaAI/codex-judge-loop/blob/217d408aa237cdedcc302189efc4aea8f6db544b/ORIGIN.md#L1-L11"
        ]
      }
    },
    {
      "slug": "codex-session-transcript-exporter",
      "title": "Codex Session Transcript Exporter",
      "job": "Export one chosen coding conversation as readable messages with a source-line ledger.",
      "kind": "Tool",
      "tags": [
        "Conversations & archives"
      ],
      "repository": "https://github.com/CinvanaAI/codex-session-transcript-exporter",
      "mechanism": "Export policy is explicit and inspectable; provenance does not require embedding a private absolute source path.",
      "scope": "Source with a complete offline example.",
      "limits": [
        "Default support covers the user_message and agent_message event shapes in the fixture. Tool/status inclusion is explicit. Message minimization does not anonymize the actual words; inspect exports before sharing."
      ],
      "sources": [
        {
          "path": "examples/result.json",
          "label": "Complete captured result"
        },
        {
          "path": "codex_session_transcript_exporter/exporter.py",
          "label": "codex_session_transcript_exporter/exporter.py"
        },
        {
          "path": "examples/synthetic_session.jsonl",
          "label": "examples/synthetic_session.jsonl"
        },
        {
          "path": "tests/test_exporter.py",
          "label": "tests/test_exporter.py"
        },
        {
          "path": "examples/expected/transcript.md",
          "label": "Complete synthetic transcript"
        },
        {
          "path": "examples/expected/events.jsonl",
          "label": "Source-line event ledger"
        },
        {
          "path": "examples/expected/manifest.json",
          "label": "Export manifest"
        }
      ],
      "keywords": [
        "transcripts",
        "export",
        "privacy"
      ],
      "license": "MIT",
      "example": {
        "title": "See the idea in action.",
        "label": "Recorded synthetic example",
        "output_label": "Captured result",
        "description": "`output/demo` contains `transcript.md`, `events.jsonl` and `manifest.json`, including a source content hash and explicit export settings. Existing output is preserved.",
        "input": "The included synthetic session mixes readable messages with events the default export omits.",
        "output": "{\n  \"schema_version\": \"codex-session-transcript.v1\",\n  \"source_filename\": \"synthetic_session.jsonl\",\n  \"source_sha256\": \"63ddbbb4685c9470cb98ea0109ec248a8ebb46cc66a089046d468bc583e7ba6c\",\n  \"included_events\": 3,\n  \"skipped_events\": 2,\n  \"secret_shape_redactions\": 0,\n  \"cutoff_reached\": false,\n  \"policy\": {\n    \"include_tools\": false,\n    \"include_status\": false,\n    \"redact_secret_shapes\": true,\n    \"user_label\": \"User\",\n    \"assistant_label\": \"Assistant\",\n    \"cutoff_phrase_configured\": false\n  },\n  \"files\": {\n    \"events\": \"events.jsonl\",\n    \"transcript\": \"transcript.md\"\n  }\n}",
        "setup": "From the repository root, follow the dependency requirements in the README. This example uses supplied synthetic material.",
        "command": "python -m pip install -e .\ncodex-session-transcript-exporter examples/synthetic_session.jsonl output/demo",
        "success": "`output/demo` contains `transcript.md`, `events.jsonl` and `manifest.json`, including a source content hash and explicit export settings. Existing output is preserved."
      },
      "family_ids": [
        "builder-foundry"
      ],
      "lineage": {
        "package_kind": "public_continuation",
        "package_kind_label": "Public continuation",
        "origin_summary": "Operational transcript exporter from the historical workbench Codex_Index tooling.",
        "public_package_changes": "Rebuilds export around minimized messages, generic labels and no images/raw payloads.",
        "boundary": "The historical purpose was chatroom migration; current direct import compatibility is not established.",
        "documented_dates": [],
        "relationships": [
          {
            "target": "agent-chatroom-ledger",
            "relation": "historical_companion",
            "label": "Related chatroom context work",
            "visitor_value": "Understand why canonical message identity and alternative context views were useful.",
            "caveat": "A documented historical purpose; current direct import/consumption compatibility is not established.",
            "sources": [
              "https://github.com/CinvanaAI/codex-session-transcript-exporter/blob/d881175c6468eb0f7f5b4bf33e86144223147c98/ORIGIN.md#L1-L3",
              "https://github.com/CinvanaAI/agent-chatroom-ledger/blob/b5411a5215165e184cc7f467b99f65fef0f08f16/ORIGIN.md#L1-L5"
            ]
          }
        ],
        "sources": [
          "https://github.com/CinvanaAI/codex-session-transcript-exporter/blob/d881175c6468eb0f7f5b4bf33e86144223147c98/ORIGIN.md#L1-L3"
        ]
      }
    },
    {
      "slug": "usage-capture",
      "title": "Usage Capture",
      "job": "Read visible usage values with separate Codex and Ollama adapters and preserve uncertain readings.",
      "kind": "Tool",
      "tags": [
        "Models & evaluation"
      ],
      "repository": "https://github.com/CinvanaAI/usage-capture",
      "mechanism": "OCR output can be useful evidence if capture, parse strategy and uncertainty are kept together.",
      "scope": "Source with a complete offline example.",
      "limits": [
        "Percent meaning belongs to the source display. Positional fallback is uncertain. Optional Windows capture requires a correctly focused app, OCR dependencies and local screenshot review; live layout behavior was not tested."
      ],
      "sources": [
        {
          "path": "codex/examples/result.json",
          "label": "Complete captured result"
        },
        {
          "path": "codex/src/codex_usage_grabber/core.py",
          "label": "codex/src/codex_usage_grabber/core.py"
        },
        {
          "path": "codex/src/codex_usage_grabber/capture.py",
          "label": "codex/src/codex_usage_grabber/capture.py"
        },
        {
          "path": "ollama/src/ollama_usage_grabber/core.py",
          "label": "ollama/src/ollama_usage_grabber/core.py"
        },
        {
          "path": "ollama/src/ollama_usage_grabber/capture.py",
          "label": "ollama/src/ollama_usage_grabber/capture.py"
        }
      ],
      "keywords": [
        "usage",
        "OCR",
        "Codex",
        "Ollama"
      ],
      "license": "MIT",
      "example": {
        "title": "See the idea in action.",
        "label": "Recorded synthetic example",
        "output_label": "Captured result",
        "description": "five_hour=73, weekly=41, strategy=labels; no account or desktop needed.",
        "input": "5h: 73%; Weekly: 41% (synthetic labeled OCR).",
        "output": "{\n  \"five_hour\": 73.0,\n  \"weekly\": 41.0,\n  \"strategy\": \"labels\"\n}",
        "setup": "From the repository root, follow the dependency requirements in the README. This example uses supplied synthetic material.",
        "command": "python -m pip install -e ./codex\ncodex-usage parse-text codex/examples/synthetic-ocr.txt",
        "success": "five_hour=73, weekly=41, strategy=labels; no account or desktop needed."
      },
      "family_ids": [
        "usage-adapters"
      ],
      "lineage": {
        "package_kind": "grouped_adapters",
        "package_kind_label": "Related adapters packaged together",
        "origin_summary": "Two separately authored Windows usage-display scripts, for Codex and Ollama.",
        "public_package_changes": "Keeps distinct installable adapters and original APIs together around one visitor job.",
        "boundary": "They are peer adapters with different screen assumptions, not one derived from the other.",
        "documented_dates": [],
        "relationships": [],
        "sources": [
          "https://github.com/CinvanaAI/usage-capture/blob/7de09e5ee729e3c8b0771fb91a3c8e09b15df090/README.md#L1-L26",
          "https://github.com/CinvanaAI/usage-capture/blob/7de09e5ee729e3c8b0771fb91a3c8e09b15df090/codex/ORIGIN.md#L1-L6",
          "https://github.com/CinvanaAI/usage-capture/blob/7de09e5ee729e3c8b0771fb91a3c8e09b15df090/ollama/ORIGIN.md#L1-L6"
        ]
      }
    },
    {
      "slug": "github-projects-v2-draft-publisher",
      "title": "GitHub Project Draft Publisher",
      "job": "Preview a structured work plan, then deliberately publish a GitHub Project and draft items.",
      "kind": "Tool",
      "tags": [
        "Data & provenance"
      ],
      "repository": "https://github.com/CinvanaAI/github-projects-v2-draft-publisher",
      "mechanism": "Analysis and public mutation are separate responsibilities; the publisher can enforce a reviewable schema regardless of how the plan was authored.",
      "scope": "Source with a complete offline example.",
      "limits": [
        "Execution creates Project draft items, not repository issues. Priority/type/phase are text in the body, not configured custom fields. Publication is nontransactional and automatic retry can duplicate work."
      ],
      "sources": [
        {
          "path": "examples/result.json",
          "label": "Complete captured result"
        },
        {
          "path": "src/github_projects_publisher/publisher.py",
          "label": "src/github_projects_publisher/publisher.py"
        },
        {
          "path": "examples/project.json",
          "label": "examples/project.json"
        },
        {
          "path": "tests/test_publisher.py",
          "label": "tests/test_publisher.py"
        },
        {
          "path": "examples/simulated-result.json",
          "label": "Simulated publication calls and responses"
        }
      ],
      "keywords": [
        "GitHub",
        "plans",
        "publication"
      ],
      "license": "MIT",
      "example": {
        "title": "See the idea in action.",
        "label": "Recorded synthetic example",
        "output_label": "Captured result",
        "description": "The example shows the exact normalized plan and rendered draft bodies without sending requests. The normal CLI also defaults to a network-free plan.",
        "input": "A complete reviewed project document in `examples/project.json`.",
        "output": "{\n  \"mode\": \"Offline preview; actual schema and draft formatter\",\n  \"plan\": {\n    \"mode\": \"dry-run\",\n    \"owner_login\": \"example-lab\",\n    \"project_title\": \"Local Evaluation Workbench\",\n    \"project_description\": \"Track a small, review-first model evaluation tool.\",\n    \"source_summary\": \"Synthetic example included with the public snapshot.\",\n    \"items\": [\n      {\n        \"type\": \"Task\",\n        \"title\": \"Preserve raw model outputs\",\n        \"body\": \"Save exact responses before ranking or summarization.\",\n        \"priority\": \"High\",\n        \"confidence\": \"High\",\n        \"phase\": \"V1\",\n        \"needs_review\": true\n      },\n      {\n        \"type\": \"Constraint\",\n        \"title\": \"Keep publishing explicit\",\n        \"body\": \"No network mutation may occur during a dry run.\",\n        \"priority\": \"High\",\n        \"confidence\": \"High\",\n        \"phase\": \"V1\",\n        \"needs_review\": false\n      }\n    ],\n    \"planned_mutations\": 3\n  },\n  \"rendered_drafts\": [\n    {\n      \"title\": \"[Task] Preserve raw model outputs\",\n      \"body\": \"Project Description: Track a small, review-first model evaluation tool.\\n\\nType: Task\\nPriority: High\\nConfidence: High\\nPhase: V1\\nNeeds Review: Yes\\n\\nSave exact responses before ranking or summarization.\"\n    },\n    {\n      \"title\": \"[Constraint] Keep publishing explicit\",\n      \"body\": \"Project Description: Track a small, review-first model evaluation tool.\\n\\nType: Constraint\\nPriority: High\\nConfidence: High\\nPhase: V1\\nNeeds Review: No\\n\\nNo network mutation may occur during a dry run.\"\n    }\n  ],\n  \"network_calls\": 0\n}",
        "setup": "From the repository root, follow the dependency requirements in the README. This example uses supplied synthetic material.",
        "command": "python -m pip install -e .\npython -m examples.offline_demo",
        "success": "The example shows the exact normalized plan and rendered draft bodies without sending requests. The normal CLI also defaults to a network-free plan."
      },
      "family_ids": [
        "transcript-planning"
      ],
      "lineage": {
        "package_kind": "focused_extraction",
        "package_kind_label": "Focused extraction",
        "origin_summary": "GitHub Projects V2 publishing helper from the conversation_to_github_projects application.",
        "public_package_changes": "Adds plan validation, injectable transport and dry-run-by-default review.",
        "boundary": "This completes the publishing boundary independently; it does not establish a completed desktop handoff in the parent.",
        "documented_dates": [],
        "relationships": [
          {
            "target": "transcript-to-github-projects",
            "relation": "extracted_from",
            "label": "Source workbench / parent system",
            "visitor_value": "See the integrated setting from which this independently useful mechanism was separated.",
            "caveat": "The parent desktop handoff is deferred; the helper has its own complete reviewed-plan interface.",
            "sources": [
              "https://github.com/CinvanaAI/github-projects-v2-draft-publisher/blob/3def854ea3d0f34287af73b439d88cca07469d1f/ORIGIN.md#L1-L11"
            ]
          }
        ],
        "sources": [
          "https://github.com/CinvanaAI/github-projects-v2-draft-publisher/blob/3def854ea3d0f34287af73b439d88cca07469d1f/ORIGIN.md#L1-L11"
        ]
      }
    },
    {
      "slug": "manifest-file-relocator",
      "title": "Manifest File Relocator",
      "job": "Preview a file move, reject stale plans and restore moved files from the recorded journal.",
      "kind": "Tool",
      "tags": [
        "Data & provenance"
      ],
      "repository": "https://github.com/CinvanaAI/manifest-file-relocator",
      "mechanism": "The reviewed plan is a byte-specific authorization boundary, and rollback operates against its own observed journal.",
      "scope": "Source with a complete offline example.",
      "limits": [
        "Hashes bind bytes, not trusted authorship. Filesystem concurrency and crashes can still require inspection. Rollback refuses changed destination bytes or occupied original paths."
      ],
      "sources": [
        {
          "path": "examples/result.json",
          "label": "Complete captured result"
        },
        {
          "path": "manifest_file_relocator/planner.py",
          "label": "manifest_file_relocator/planner.py"
        },
        {
          "path": "manifest_file_relocator/executor.py",
          "label": "manifest_file_relocator/executor.py"
        },
        {
          "path": "examples/offline_demo.py",
          "label": "examples/offline_demo.py"
        }
      ],
      "keywords": [
        "files",
        "rollback",
        "manifests"
      ],
      "license": "MIT",
      "example": {
        "title": "See the idea in action.",
        "label": "Recorded synthetic example",
        "output_label": "Captured result",
        "description": "The real planner, executor and rollback restore the original bytes. The demo never touches your existing files.",
        "input": "Two disposable files and a manifest describing their new relative destinations.",
        "output": "{\n  \"plan\": {\n    \"version\": 1,\n    \"workspace_name\": \"workspace\",\n    \"manifest_sha256\": \"ec078cda00f917153cc2d96d743e48c75a50a1faa18084f2b8918bf421cb7afc\",\n    \"item_count\": 2,\n    \"items\": [\n      {\n        \"operation_id\": \"accept-text\",\n        \"source\": \"inbox/alpha.txt\",\n        \"destination\": \"accepted/alpha.txt\",\n        \"bytes\": 15,\n        \"sha256\": \"71f49e4f25b46d85934e84dc2cd7263fc3e886196e66fb4dae5da8d290c29e1c\"\n      },\n      {\n        \"operation_id\": \"accept-text\",\n        \"source\": \"inbox/beta.txt\",\n        \"destination\": \"accepted/beta.txt\",\n        \"bytes\": 14,\n        \"sha256\": \"895530c53db52ae4d83617feecea2e53e76b819051f9e3c677c887c76b001504\"\n      }\n    ],\n    \"plan_sha256\": \"af7f1eb12d01bae9c36188c9788a71b8228fa27751fb6c2f9ed61d3984438af6\"\n  },\n  \"execution\": {\n    \"version\": 1,\n    \"plan_sha256\": \"af7f1eb12d01bae9c36188c9788a71b8228fa27751fb6c2f9ed61d3984438af6\",\n    \"started_at\": \"2026-09-19T14:14:23Z\",\n    \"status\": \"complete\",\n    \"items\": [\n      {\n        \"operation_id\": \"accept-text\",\n        \"source\": \"inbox/alpha.txt\",\n        \"destination\": \"accepted/alpha.txt\",\n        \"bytes\": 15,\n        \"sha256\": \"71f49e4f25b46d85934e84dc2cd7263fc3e886196e66fb4dae5da8d290c29e1c\",\n        \"status\": \"moved\"\n      },\n      {\n        \"operation_id\": \"accept-text\",\n        \"source\": \"inbox/beta.txt\",\n        \"destination\": \"accepted/beta.txt\",\n        \"bytes\": 14,\n        \"sha256\": \"895530c53db52ae4d83617feecea2e53e76b819051f9e3c677c887c76b001504\",\n        \"status\": \"moved\"\n      }\n    ],\n    \"journal_sha256\": \"efc93a628cd1f7f5ed20a98d8c2947afd4efd262affaacc6109f2df871301c8a\",\n    \"finished_at\": \"2026-09-19T14:14:23Z\"\n  },\n  \"rollback\": {\n    \"version\": 1,\n    \"source_journal_sha256\": \"efc93a628cd1f7f5ed20a98d8c2947afd4efd262affaacc6109f2df871301c8a\",\n    \"started_at\": \"2026-09-19T14:14:23Z\",\n    \"status\": \"complete\",\n    \"items\": [\n      {\n        \"operation_id\": \"accept-text\",\n        \"source\": \"inbox/beta.txt\",\n        \"destination\": \"accepted/beta.txt\",\n        \"bytes\": 14,\n        \"sha256\": \"895530c53db52ae4d83617feecea2e53e76b819051f9e3c677c887c76b001504\",\n        \"status\": \"restored\"\n      },\n      {\n        \"operation_id\": \"accept-text\",\n        \"source\": \"inbox/alpha.txt\",\n        \"destination\": \"accepted/alpha.txt\",\n        \"bytes\": 15,\n        \"sha256\": \"71f49e4f25b46d85934e84dc2cd7263fc3e886196e66fb4dae5da8d290c29e1c\",\n        \"status\": \"restored\"\n      }\n    ],\n    \"rollback_sha256\": \"4beaba42e986404a2e7d59bd4dbb0c41022abec20a70a80e750ec1a013ca573d\",\n    \"finished_at\": \"2026-09-19T14:14:23Z\"\n  }\n}",
        "setup": "From the repository root, follow the dependency requirements in the README. This example uses supplied synthetic material.",
        "command": "python -m pip install -e .\npython -m examples.offline_demo",
        "success": "The real planner, executor and rollback restore the original bytes. The demo never touches your existing files."
      },
      "family_ids": [],
      "lineage": {
        "package_kind": "public_continuation",
        "package_kind_label": "Public continuation",
        "origin_summary": "A May 2026 mover.py selection script from a classification workspace.",
        "public_package_changes": "Replaces the unsafe execution model with reviewed plans, content checks, journals and rollback.",
        "boundary": "The original folder organization and private instruction files are not reproduced.",
        "documented_dates": [
          {
            "value": "2026-05",
            "precision": "month",
            "scope": "Historical mover.py script.",
            "is_project_start": false,
            "sources": [
              "https://github.com/CinvanaAI/manifest-file-relocator/blob/57aba83d1f05e04da8981aba72f8ff906064d668/ORIGIN.md#L3-L3"
            ]
          }
        ],
        "relationships": [],
        "sources": [
          "https://github.com/CinvanaAI/manifest-file-relocator/blob/57aba83d1f05e04da8981aba72f8ff906064d668/ORIGIN.md#L1-L5"
        ]
      }
    },
    {
      "slug": "message-version-bundle-builder",
      "title": "Message Version Bundle Builder",
      "job": "Bundle an original message and nine prepared context versions with checked original text and character counts.",
      "kind": "Tool",
      "tags": [
        "Conversations & archives"
      ],
      "repository": "https://github.com/CinvanaAI/message-version-bundle-builder",
      "mechanism": "A context representation can be validated structurally without pretending that shorter text is semantically equivalent.",
      "scope": "Source with a complete offline example.",
      "limits": [
        "This tool packages versions; it does not generate summaries or prove semantic equivalence. Missing/duplicate levels fail unless the documented repeat-last policy is chosen."
      ],
      "sources": [
        {
          "path": "examples/result.json",
          "label": "Complete captured result"
        },
        {
          "path": "message_version_bundle/builder.py",
          "label": "message_version_bundle/builder.py"
        },
        {
          "path": "examples/levels.txt",
          "label": "examples/levels.txt"
        },
        {
          "path": "examples/versions-result.json",
          "label": "All ten prepared versions"
        }
      ],
      "keywords": [
        "messages",
        "context",
        "validation"
      ],
      "license": "MIT",
      "example": {
        "title": "See the idea in action.",
        "label": "Recorded synthetic example",
        "output_label": "Captured result",
        "description": "One JSON bundle contains levels 0–9 and freshly calculated character counts. Level 0 is required to match the canonical message exactly.",
        "input": "One canonical message and nine explicitly authored context versions.",
        "output": "{\n  \"output\": \"output\\\\versions.json\",\n  \"level_count\": 10,\n  \"level_0_char_count\": 100,\n  \"counts\": {\n    \"0\": 100,\n    \"1\": 56,\n    \"2\": 37,\n    \"3\": 18,\n    \"4\": 13,\n    \"5\": 13,\n    \"6\": 14,\n    \"7\": 5,\n    \"8\": 8,\n    \"9\": 8\n  },\n  \"bom\": false\n}",
        "setup": "From the repository root, follow the dependency requirements in the README. This example uses supplied synthetic material.",
        "command": "python -m pip install -e .\nmessage-version-bundle-builder --message-file examples/canonical_message.json --levels-file examples/levels.txt --output output/versions.json",
        "success": "One JSON bundle contains levels 0–9 and freshly calculated character counts. Level 0 is required to match the canonical message exactly."
      },
      "family_ids": [
        "builder-foundry"
      ],
      "lineage": {
        "package_kind": "focused_extraction",
        "package_kind_label": "Focused extraction",
        "origin_summary": "Codex_Index version-bundle helper from the historical Python workbench.",
        "public_package_changes": "Packages canonical level 0 and reviewed context lenses as a independently checked bundle.",
        "boundary": "Historical chatroom support does not by itself establish current automatic delivery or consumption.",
        "documented_dates": [],
        "relationships": [
          {
            "target": "agent-chatroom-ledger",
            "relation": "historical_companion",
            "label": "Related chatroom context work",
            "visitor_value": "Understand why canonical message identity and alternative context views were useful.",
            "caveat": "A documented historical purpose; current direct import/consumption compatibility is not established.",
            "sources": [
              "https://github.com/CinvanaAI/message-version-bundle-builder/blob/389555e771c5b34804bd971be8d0df3b68e6dba3/ORIGIN.md#L1-L3",
              "https://github.com/CinvanaAI/agent-chatroom-ledger/blob/b5411a5215165e184cc7f467b99f65fef0f08f16/ORIGIN.md#L1-L5"
            ]
          }
        ],
        "sources": [
          "https://github.com/CinvanaAI/message-version-bundle-builder/blob/389555e771c5b34804bd971be8d0df3b68e6dba3/ORIGIN.md#L1-L3"
        ]
      }
    },
    {
      "slug": "model-provider-compatibility-lab",
      "title": "Model Provider Compatibility Lab",
      "job": "Record what one model/provider route did on one task, separating support from configuration problems.",
      "kind": "Library",
      "tags": [
        "Models & evaluation"
      ],
      "repository": "https://github.com/CinvanaAI/model-provider-compatibility-lab",
      "mechanism": "A failed call is evidence with a scope, not proof that the model lacks an entire capability.",
      "scope": "Source with a complete offline example.",
      "limits": [
        "Supported means the call returned text; it is not a correctness grade. The ledger keeps the latest record per task, not full attempt history. Error-text classification is heuristic. No live endpoint or model availability is established by the fixture."
      ],
      "sources": [
        {
          "path": "examples/result.json",
          "label": "Complete captured result"
        },
        {
          "path": "src/provider_compat/adapters.py",
          "label": "src/provider_compat/adapters.py"
        },
        {
          "path": "src/provider_compat/lab.py",
          "label": "src/provider_compat/lab.py"
        },
        {
          "path": "src/provider_compat/pricing.py",
          "label": "src/provider_compat/pricing.py"
        }
      ],
      "keywords": [
        "providers",
        "compatibility",
        "evidence"
      ],
      "license": "MIT",
      "example": {
        "title": "See the idea in action.",
        "label": "Recorded synthetic example",
        "output_label": "Captured result",
        "description": "The actual adapter/ledger records supported, fixable and unknown states; returned token usage is retained, while unobserved inventory is null.",
        "input": "Three fake HTTP outcomes for the same owner-extraction task: usable output, unknown model and a timeout.",
        "output": "{\n  \"mode\": \"Synthetic HTTP; actual adapter normalization and attempt ledger\",\n  \"request\": \"Morgan owns this item.\",\n  \"outputs\": [\n    {\n      \"model\": \"working-fixture\",\n      \"text\": \"{\\\"owner\\\":\\\"Morgan\\\"}\",\n      \"usage\": {\n        \"input_tokens\": 12,\n        \"output_tokens\": 7,\n        \"input_tokens_details\": {\n          \"cached_tokens\": null\n        }\n      }\n    }\n  ],\n  \"records\": [\n    {\n      \"provider_key\": \"demo\",\n      \"model_id\": \"missing-fixture\",\n      \"task_name\": \"extract_owner\",\n      \"status\": \"fixable\",\n      \"can_list_models\": null,\n      \"can_execute_task\": false,\n      \"blocked_reason\": \"The selected model or endpoint was not found.\",\n      \"fix_hint\": \"Refresh inventory or correct the model/endpoint, then retry.\",\n      \"error_type\": \"provider_error\",\n      \"error_message\": \"unknown model\"\n    },\n    {\n      \"provider_key\": \"demo\",\n      \"model_id\": \"timeout-fixture\",\n      \"task_name\": \"extract_owner\",\n      \"status\": \"unknown\",\n      \"can_list_models\": null,\n      \"can_execute_task\": false,\n      \"blocked_reason\": \"The attempt did not establish task compatibility.\",\n      \"fix_hint\": \"Retry when the provider is reachable.\",\n      \"error_type\": \"connection_error\",\n      \"error_message\": \"connection timed out\"\n    },\n    {\n      \"provider_key\": \"demo\",\n      \"model_id\": \"working-fixture\",\n      \"task_name\": \"extract_owner\",\n      \"status\": \"supported\",\n      \"can_list_models\": null,\n      \"can_execute_task\": true,\n      \"blocked_reason\": null,\n      \"fix_hint\": null,\n      \"error_type\": null,\n      \"error_message\": null\n    }\n  ],\n  \"transport_calls\": 3,\n  \"network_calls\": 0\n}",
        "setup": "From the repository root, follow the dependency requirements in the README. This example uses supplied synthetic material.",
        "command": "python -m pip install -e .\npython -m examples.offline_demo",
        "success": "The actual adapter/ledger records supported, fixable and unknown states; returned token usage is retained, while unobserved inventory is null."
      },
      "family_ids": [
        "transcript-evaluation"
      ],
      "lineage": {
        "package_kind": "focused_extraction",
        "package_kind_label": "Focused extraction",
        "origin_summary": "Provider/model/task evidence rules from two generations of transcript evaluation tools.",
        "public_package_changes": "Creates focused public boundaries with synthetic evidence; retains provider normalization, compatibility and pricing separation.",
        "boundary": "Its documented integrated parent is Transcript Model Evaluator; a successful call is not a quality grade.",
        "documented_dates": [],
        "relationships": [
          {
            "target": "transcript-model-evaluator",
            "relation": "extracted_from",
            "label": "Source workbench / parent system",
            "visitor_value": "See the integrated setting from which this independently useful mechanism was separated.",
            "caveat": "",
            "sources": [
              "https://github.com/CinvanaAI/model-provider-compatibility-lab/blob/2587ae4e9da9f9fdb83064cb58f335de12ed8d48/ORIGIN.md#L1-L15"
            ]
          }
        ],
        "sources": [
          "https://github.com/CinvanaAI/model-provider-compatibility-lab/blob/2587ae4e9da9f9fdb83064cb58f335de12ed8d48/ORIGIN.md#L1-L15"
        ]
      }
    },
    {
      "slug": "persistent-discord-rpg",
      "title": "Persistent Discord RPG",
      "job": "Build Discord campaigns and character-creation conversations that can resume after a bot restart.",
      "kind": "Tool",
      "tags": [
        "Games & interaction"
      ],
      "repository": "https://github.com/CinvanaAI/persistent-discord-rpg",
      "mechanism": "Durable conversation state makes long-running bot workflows recoverable without keeping wait_for tasks alive.",
      "scope": "Source with a complete offline example.",
      "limits": [
        "This is a playable-system prototype, with substantial storage/workflow code and early turn-order seams. The offline case proves persistence; it does not simulate Discord permissions, rate limits or a complete tabletop session."
      ],
      "sources": [
        {
          "path": "examples/result.json",
          "label": "Complete captured result"
        },
        {
          "path": "bot.py",
          "label": "bot.py"
        },
        {
          "path": "modules/storage.py",
          "label": "modules/storage.py"
        },
        {
          "path": "modules/rules_engine.py",
          "label": "modules/rules_engine.py"
        },
        {
          "path": "tests/test_storage.py",
          "label": "tests/test_storage.py"
        }
      ],
      "keywords": [
        "games",
        "Discord",
        "persistence"
      ],
      "license": "MIT",
      "example": {
        "title": "See the idea in action.",
        "label": "Recorded synthetic example",
        "output_label": "Captured result",
        "description": "A reopened SQLite store recovers the campaign and the exact pending DM step. `--check` verifies bot startup wiring without reading a token or contacting Discord.",
        "input": "A synthetic campaign, invited player, accepted membership and character-name step.",
        "output": "{\n  \"mode\": \"Synthetic IDs; actual SQLite storage\",\n  \"campaign\": \"Lantern Workshop\",\n  \"player_membership\": \"accepted\",\n  \"resumed_state\": \"charcreate_character_name\",\n  \"resumed_campaign\": \"Lantern Workshop\",\n  \"pending_payload\": {\n    \"campaign_id\": 1,\n    \"campaign_name\": \"Lantern Workshop\"\n  },\n  \"discord_calls\": 0\n}",
        "setup": "From the repository root, follow the dependency requirements in the README. This example uses supplied synthetic material.",
        "command": "python -m pip install -e .\npython -m examples.offline_demo\npython bot.py --check",
        "success": "A reopened SQLite store recovers the campaign and the exact pending DM step. `--check` verifies bot startup wiring without reading a token or contacting Discord."
      },
      "family_ids": [
        "persistent-rpg"
      ],
      "lineage": {
        "package_kind": "integrated_snapshot",
        "package_kind_label": "Integrated source snapshot",
        "origin_summary": "Historical Phoenix 2 Discord RPG application.",
        "public_package_changes": "Preserves the campaign and character application while replacing credentials, closing storage connections and implementing a bounded dice resolver.",
        "boundary": "The full parent remains available independently of its focused rules and state extractions.",
        "documented_dates": [
          {
            "value": "2026-02",
            "precision": "month",
            "scope": "Its character subsystem is documented for this month; the full project start date is not established.",
            "is_project_start": false,
            "sources": [
              "https://github.com/CinvanaAI/rpg-character-rules-engine/blob/679dc2f963e442021197a871fccb63c8b646c920/ORIGIN.md#L3-L3"
            ]
          }
        ],
        "relationships": [
          {
            "target": "persistent-discord-state-machine",
            "relation": "has_extraction",
            "label": "Focused extraction",
            "visitor_value": "Inspect or reuse this boundary without navigating the whole application.",
            "caveat": "The extract contains new neutral interfaces and hardening; the original integrated application remains represented.",
            "sources": [
              "https://github.com/CinvanaAI/persistent-discord-state-machine/blob/d974b70c4c568ae136874c02e40ab28b38d17d86/ORIGIN.md#L1-L7"
            ]
          },
          {
            "target": "rpg-character-rules-engine",
            "relation": "has_extraction",
            "label": "Focused extraction",
            "visitor_value": "Inspect or reuse this boundary without navigating the whole application.",
            "caveat": "The extract contains new neutral interfaces and hardening; the original integrated application remains represented.",
            "sources": [
              "https://github.com/CinvanaAI/rpg-character-rules-engine/blob/679dc2f963e442021197a871fccb63c8b646c920/ORIGIN.md#L1-L7"
            ]
          }
        ],
        "sources": [
          "https://github.com/CinvanaAI/persistent-discord-rpg/blob/6196ce5b4113b7c4e93d9068b8c52894e27526b2/ORIGIN.md#L1-L19"
        ]
      }
    },
    {
      "slug": "persistent-discord-state-machine",
      "title": "Persistent Interaction State",
      "job": "Save a multi-step conversation, resume it later and refuse stale updates.",
      "kind": "Library",
      "tags": [
        "Games & interaction"
      ],
      "repository": "https://github.com/CinvanaAI/persistent-discord-state-machine",
      "mechanism": "The durable continuation point is a reusable piece independent of Discord networking.",
      "scope": "Source with a complete offline example.",
      "limits": [
        "The package stores and transitions state; callers implement the actual prompts, authorization and incoming-message dispatch. It is not a bot or a general workflow scheduler."
      ],
      "sources": [
        {
          "path": "examples/result.txt",
          "label": "Complete captured result"
        },
        {
          "path": "persistent_discord_state_machine/store.py",
          "label": "persistent_discord_state_machine/store.py"
        },
        {
          "path": "examples/resume_demo.py",
          "label": "examples/resume_demo.py"
        }
      ],
      "keywords": [
        "state machines",
        "storage",
        "conversations"
      ],
      "license": "MIT",
      "example": {
        "title": "See the idea in action.",
        "label": "Recorded synthetic example",
        "output_label": "Captured result",
        "description": "The example closes and reopens storage, resumes the saved step and updates its payload without Discord.",
        "input": "A three-step synthetic interaction saved under a guild/user session key.",
        "output": "started WorkflowSession(guild_id=42, user_id=1001, state='choose_name', payload={'campaign': 'Synthetic'}, revision=1, updated_at='2026-09-20T10:28:26Z')\nresumed WorkflowSession(guild_id=42, user_id=1001, state='choose_name', payload={'campaign': 'Synthetic'}, revision=1, updated_at='2026-09-20T10:28:26Z')\ntransitioned WorkflowSession(guild_id=42, user_id=1001, state='confirm', payload={'campaign': 'Synthetic', 'name': 'Example Hero'}, revision=2, updated_at='2026-09-20T10:28:26Z')\nstale confirmation rejected; preserved payload {\"campaign\": \"Synthetic\", \"name\": \"Revised Hero\"}\ncomplete None",
        "setup": "From the repository root, follow the dependency requirements in the README. This example uses supplied synthetic material.",
        "command": "python -m pip install -e .\npython examples/resume_demo.py",
        "success": "The example closes and reopens storage, resumes the saved step and updates its payload without Discord."
      },
      "family_ids": [
        "persistent-rpg"
      ],
      "lineage": {
        "package_kind": "focused_extraction",
        "package_kind_label": "Focused extraction",
        "origin_summary": "Durable direct-message session mechanism from Persistent Discord RPG.",
        "public_package_changes": "Hardens the mechanism with revisions, stale-state checks, guarded completion and typed results.",
        "boundary": "A platform-neutral persistent interaction mechanism; no bot client or campaign database is included.",
        "documented_dates": [],
        "relationships": [
          {
            "target": "persistent-discord-rpg",
            "relation": "extracted_from",
            "label": "Source workbench / parent system",
            "visitor_value": "See the integrated setting from which this independently useful mechanism was separated.",
            "caveat": "The extract contains new neutral interfaces and hardening; the original integrated application remains represented.",
            "sources": [
              "https://github.com/CinvanaAI/persistent-discord-state-machine/blob/d974b70c4c568ae136874c02e40ab28b38d17d86/ORIGIN.md#L1-L7"
            ]
          }
        ],
        "sources": [
          "https://github.com/CinvanaAI/persistent-discord-state-machine/blob/d974b70c4c568ae136874c02e40ab28b38d17d86/ORIGIN.md#L1-L7"
        ]
      }
    },
    {
      "slug": "rubric-rumble",
      "title": "Rubric Rumble",
      "job": "Discover and check models, compare their answers on your task, and inspect the judge and available cost evidence.",
      "kind": "Tool",
      "tags": [
        "Models & evaluation"
      ],
      "repository": "https://github.com/CinvanaAI/rubric-rumble",
      "mechanism": "Model discovery, sourced catalog facts and explicit response probes prepare the candidates. Single and Batch capture answers; Battle and Tournament judge complete example sets and preserve the evidence.",
      "scope": "A runnable experimental desktop and command-line workbench, an offline starter task, two historical battles, and a complete operating atlas. Character selection and animated fights remain future ideas.",
      "limits": [
        "Live discovery, probes and evaluations use your configured connections. Generation requests are explicit. Research extracts facts from supplied documentation; it does not browse for sources. A greeting response confirms that request returned text.",
        "Fixture responses are synthetic. The two historical battles preserve selected March 2026 model outputs and GPT-5.4 decisions under their recorded task and rubric. Costs require returned usage and explicit dated rates."
      ],
      "sources": [
        {
          "path": "demo/history/historical-battles.json",
          "label": "Two reviewed historical battle records"
        },
        {
          "path": "examples/demo-result.json",
          "label": "Complete captured result"
        },
        {
          "path": "src/prompt_tournament/workflow.py",
          "label": "src/prompt_tournament/workflow.py"
        },
        {
          "path": "src/prompt_tournament/engine.py",
          "label": "src/prompt_tournament/engine.py"
        },
        {
          "path": "src/prompt_tournament/providers.py",
          "label": "src/prompt_tournament/providers.py"
        },
        {
          "path": "docs/FUTURE-IDEAS.md",
          "label": "The character roster and animated-match sketchbook"
        },
        {
          "path": "docs/STATUS.md",
          "label": "Current scope and limits"
        },
        {
          "path": "docs/RELATED-TOOLS.md",
          "label": "Related evaluation and routing tools"
        }
      ],
      "keywords": [
        "model evaluation",
        "rules",
        "comparisons",
        "Mortal Kombat",
        "Rubric Rumble",
        "LLM evaluation",
        "model tournaments",
        "model comparison"
      ],
      "license": "MIT",
      "example": {
        "title": "Correct, incomplete, or disqualified?",
        "label": "Recorded synthetic example",
        "output_label": "Selected fields from the captured result",
        "description": "4/4 exact fields, 2/4 exact fields, one malformed candidate disqualified; JSON/HTML evidence, zero provider calls.",
        "input": "Two short owner/action source records and three explicitly authored candidate fixtures.",
        "output": "{\n  \"schema\": \"mortal-kombat.result.v1\",\n  \"status\": \"completed\",\n  \"started_at\": \"2026-09-19T13:48:05.633027+00:00\",\n  \"mode\": \"synthetic-fixtures\",\n  \"task\": {\n    \"schema\": \"mortal-kombat.task.v1\",\n    \"id\": \"owner-and-action\",\n    \"instructions\": \"Extract the owner and next action from each source. Return only a JSON object with string fields owner and action. Preserve the exact name and action wording.\",\n    \"artifacts\": [\n      {\n        \"id\": \"review\",\n        \"text\": \"Morgan owns this item. The next action is review the fixture.\",\n        \"expected\": {\n          \"owner\": \"Morgan\",\n          \"action\": \"review the fixture\"\n        }\n      },\n      {\n        \"id\": \"release\",\n        \"text\": \"Riley owns this item. The next action is check the release notes.\",\n        \"expected\": {\n          \"owner\": \"Riley\",\n          \"action\": \"check the release notes\"\n        }\n      }\n    ],\n    \"rubric\": {\n      \"kind\": \"exact_fields\",\n      \"description\": \"One point per exact, case-sensitive expected field across two artifacts. Extra fields earn no points. An output that is not a JSON object disqualifies the candidate. Equal scores use candidate ID order as a deterministic tie-break.\",\n      \"fields\": [\n        \"owner\",\n        \"action\"\n      ]\n    },\n    \"judge\": {\n      \"kind\": \"rules\"\n    },\n    \"providers\": {},\n    \"models\": [\n      {\n        \"id\": \"complete-fixture\",\n        \"provider\": \"fixture\",\n        \"fixture_outputs\": {\n          \"review\": \"{\\\"owner\\\": \\\"Morgan\\\", \\\"action\\\": \\\"review the fixture\\\"}\",\n          \"release\": \"{\\\"owner\\\": \\\"Riley\\\", \\\"action\\\": \\\"check the release notes\\\"}\"\n        }\n      },\n      {\n        \"id\": \"missing-owner-fixture\",\n        \"provider\": \"fixture\",\n        \"fixture_outputs\": {\n          \"review\": \"{\\\"action\\\": \\\"review the fixture\\\"}\",\n          \"release\": \"{\\\"action\\\": \\\"check the release notes\\\"}\"\n        }\n      },\n      {\n        \"id\": \"malformed-fixture\",\n        \"provider\": \"fixture\",\n        \"fixture_outputs\": {\n          \"review\": \"Morgan should review the fixture.\",\n          \"release\": \"Riley should check the release notes.\"\n        }\n      }\n    ],\n    \"max_calls\": 100\n  },\n  \"task_sha256\": \"28129bbae2a0f3413b26f819d4cc32b6c66fb90c84ad3ad6ee37363e498ea276\",\n  \"plan\": {\n    \"task_id\": \"owner-and-action\",\n    \"candidate_count\": 3,\n    \"artifact_count\": 2,\n    \"judge\": \"rules\",\n    \"network_required\": false,\n    \"maximum_candidate_calls\": 0,\n    \"maximum_judge_calls\": 0,\n    \"configured_call_limit\": 100,\n    \"task_sha256\": \"28129bbae2a0f3413b26f819d4cc32b6c66fb90c84ad3ad6ee37363e498ea276\"\n  },\n  \"calls\": [\n    {\n      \"sequence\": 1,\n      \"phase\": \"candidate\",\n      \"candidate_id\": \"complete-fixture\",\n      \"provider\": \"fixture\",\n      \"configured_model\": null,\n      \"artifact_id\": \"review\",\n      \"request_text\": \"Extract the owner and next action from each source. Return only a JSON object with string fields owner and action. Preserve the exact name and action wording.\\n\\nSource artifact:\\nMorgan owns this item. The next action is review the fixture.\",\n      \"status\": \"completed\",\n      \"text\": \"{\\\"owner\\\": \\\"Morgan\\\", \\\"action\\\": \\\"review the fixture\\\"}\",\n      \"usage\": null,\n      \"cost\": {\n        \"status\": \"unavailable\",\n        \"amount\": null,\n        \"currency\": null,\n        \"basis\": \"Returned token usage and user-configured rates; estimate, not an invoice.\",\n        \"reason\": \"No rates configured.\"\n      },\n      \"provider_call_attempted\": false,\n      \"usage_raw\": null,\n      \"returned_model\": null,\n      \"response_id\": null,\n      \"complete\": true\n    },\n    {\n      \"sequence\": 2,\n      \"phase\": \"candidate\",\n      \"candidate_id\": \"complete-fixture\",\n      \"provider\": \"fixture\",\n      \"configured_model\": null,\n      \"artifact_id\": \"release\",\n      \"request_text\": \"Extract the owner and next action from each source. Return only a JSON object with string fields owner and action. Preserve the exact name and action wording.\\n\\nSource artifact:\\nRiley owns this item. The next action is check the release notes.\",\n      \"status\": \"completed\",\n      \"text\": \"{\\\"owner\\\": \\\"Riley\\\", \\\"action\\\": \\\"check the release notes\\\"}\",\n      \"usage\": null,\n      \"cost\": {\n        \"status\": \"unavailable\",\n        \"amount\": null,\n        \"currency\": null,\n        \"basis\": \"Returned token usage and user-configured rates; estimate, not an invoice.\",\n        \"reason\": \"No rates configured.\"\n      },\n      \"provider_call_attempted\": false,\n      \"usage_raw\": null,\n      \"returned_model\": null,\n      \"response_id\": null,\n      \"complete\": true\n    },\n    {\n      \"sequence\": 3,\n      \"phase\": \"candidate\",\n      \"candidate_id\": \"malformed-fixture\",\n      \"provider\": \"fixture\",\n      \"configured_model\": null,\n      \"artifact_id\": \"review\",\n      \"request_text\": \"Extract the owner and next action from each source. Return only a JSON object with string fields owner and action. Preserve the exact name and action wording.\\n\\nSource artifact:\\nMorgan owns this item. The next action is review the fixture.\",\n      \"status\": \"completed\",\n      \"text\": \"Morgan should review the fixture.\",\n      \"usage\": null,\n      \"cost\": {\n        \"status\": \"unavailable\",\n        \"amount\": null,\n        \"currency\": null,\n        \"basis\": \"Returned token usage and user-configured rates; estimate, not an invoice.\",\n        \"reason\": \"No rates configured.\"\n      },\n      \"provider_call_attempted\": false,\n      \"usage_raw\": null,\n      \"returned_model\": null,\n      \"response_id\": null,\n      \"complete\": true\n    },\n    {\n      \"sequence\": 4,\n      \"phase\": \"candidate\",\n      \"candidate_id\": \"missing-owner-fixture\",\n      \"provider\": \"fixture\",\n      \"configured_model\": null,\n      \"artifact_id\": \"review\",\n      \"request_text\": \"Extract the owner and next action from each source. Return only a JSON object with string fields owner and action. Preserve the exact name and action wording.\\n\\nSource artifact:\\nMorgan owns this item. The next action is review the fixture.\",\n      \"status\": \"completed\",\n      \"text\": \"{\\\"action\\\": \\\"review the fixture\\\"}\",\n      \"usage\": null,\n      \"cost\": {\n        \"status\": \"unavailable\",\n        \"amount\": null,\n        \"currency\": null,\n        \"basis\": \"Returned token usage and user-configured rates; estimate, not an invoice.\",\n        \"reason\": \"No rates configured.\"\n      },\n      \"provider_call_attempted\": false,\n      \"usage_raw\": null,\n      \"returned_model\": null,\n      \"response_id\": null,\n      \"complete\": true\n    },\n    {\n      \"sequence\": 5,\n      \"phase\": \"candidate\",\n      \"candidate_id\": \"missing-owner-fixture\",\n      \"provider\": \"fixture\",\n      \"configured_model\": null,\n      \"artifact_id\": \"release\",\n      \"request_text\": \"Extract the owner and next action from each source. Return only a JSON object with string fields owner and action. Preserve the exact name and action wording.\\n\\nSource artifact:\\nRiley owns this item. The next action is check the release notes.\",\n      \"status\": \"completed\",\n      \"text\": \"{\\\"action\\\": \\\"check the release notes\\\"}\",\n      \"usage\": null,\n      \"cost\": {\n        \"status\": \"unavailable\",\n        \"amount\": null,\n        \"currency\": null,\n        \"basis\": \"Returned token usage and user-configured rates; estimate, not an invoice.\",\n        \"reason\": \"No rates configured.\"\n      },\n      \"provider_call_attempted\": false,\n      \"usage_raw\": null,\n      \"returned_model\": null,\n      \"response_id\": null,\n      \"complete\": true\n    }\n  ],\n  \"candidate_outputs\": [\n    {\n      \"candidate_id\": \"complete-fixture\",\n      \"artifact_id\": \"review\",\n      \"text\": \"{\\\"owner\\\": \\\"Morgan\\\", \\\"action\\\": \\\"review the fixture\\\"}\",\n      \"assessment\": {\n        \"valid_json_object\": true,\n        \"score\": 2,\n        \"maximum\": 2,\n        \"checks\": [\n          {\n            \"field\": \"owner\",\n            \"expected\": \"Morgan\",\n            \"actual\": \"Morgan\",\n            \"present\": true,\n            \"passed\": true\n          },\n          {\n            \"field\": \"action\",\n            \"expected\": \"review the fixture\",\n            \"actual\": \"review the fixture\",\n            \"present\": true,\n            \"passed\": true\n          }\n        ],\n        \"reason\": \"Exact, case-sensitive field matches; extra fields do not earn points.\"\n      }\n    },\n    {\n      \"candidate_id\": \"complete-fixture\",\n      \"artifact_id\": \"release\",\n      \"text\": \"{\\\"owner\\\": \\\"Riley\\\", \\\"action\\\": \\\"check the release notes\\\"}\",\n      \"assessment\": {\n        \"valid_json_object\": true,\n        \"score\": 2,\n        \"maximum\": 2,\n        \"checks\": [\n          {\n            \"field\": \"owner\",\n            \"expected\": \"Riley\",\n            \"actual\": \"Riley\",\n            \"present\": true,\n            \"passed\": true\n          },\n          {\n            \"field\": \"action\",\n            \"expected\": \"check the release notes\",\n            \"actual\": \"check the release notes\",\n            \"present\": true,\n            \"passed\": true\n          }\n        ],\n        \"reason\": \"Exact, case-sensitive field matches; extra fields do not earn points.\"\n      }\n    },\n    {\n      \"candidate_id\": \"malformed-fixture\",\n      \"artifact_id\": \"review\",\n      \"text\": \"Morgan should review the fixture.\",\n      \"assessment\": {\n        \"valid_json_object\": false,\n        \"score\": 0,\n        \"maximum\": 2,\n        \"checks\": [],\n        \"reason\": \"Output is not valid JSON.\"\n      }\n    },\n    {\n      \"candidate_id\": \"missing-owner-fixture\",\n      \"artifact_id\": \"review\",\n      \"text\": \"{\\\"action\\\": \\\"review the fixture\\\"}\",\n      \"assessment\": {\n        \"valid_json_object\": true,\n        \"score\": 1,\n        \"maximum\": 2,\n        \"checks\": [\n          {\n            \"field\": \"owner\",\n            \"expected\": \"Morgan\",\n            \"actual\": null,\n            \"present\": false,\n            \"passed\": false\n          },\n          {\n            \"field\": \"action\",\n            \"expected\": \"review the fixture\",\n            \"actual\": \"review the fixture\",\n            \"present\": true,\n            \"passed\": true\n          }\n        ],\n        \"reason\": \"Exact, case-sensitive field matches; extra fields do not earn points.\"\n      }\n    },\n    {\n      \"candidate_id\": \"missing-owner-fixture\",\n      \"artifact_id\": \"release\",\n      \"text\": \"{\\\"action\\\": \\\"check the release notes\\\"}\",\n      \"assessment\": {\n        \"valid_json_object\": true,\n        \"score\": 1,\n        \"maximum\": 2,\n        \"checks\": [\n          {\n            \"field\": \"owner\",\n            \"expected\": \"Riley\",\n            \"actual\": null,\n            \"present\": false,\n            \"passed\": false\n          },\n          {\n            \"field\": \"action\",\n            \"expected\": \"check the release notes\",\n            \"actual\": \"check the release notes\",\n            \"present\": true,\n            \"passed\": true\n          }\n        ],\n        \"reason\": \"Exact, case-sensitive field matches; extra fields do not earn points.\"\n      }\n    }\n  ],\n  \"candidate_summaries\": [\n    {\n      \"candidate_id\": \"complete-fixture\",\n      \"assessment\": {\n        \"valid\": true,\n        \"score\": 4,\n        \"maximum\": 4\n      },\n      \"calls\": 2,\n      \"failed_calls\": 0\n    },\n    {\n      \"candidate_id\": \"missing-owner-fixture\",\n      \"assessment\": {\n        \"valid\": true,\n        \"score\": 2,\n        \"maximum\": 4\n      },\n      \"calls\": 2,\n      \"failed_calls\": 0\n    },\n    {\n      \"candidate_id\": \"malformed-fixture\",\n      \"assessment\": {\n        \"valid\": false,\n        \"score\": 0,\n        \"maximum\": 4\n      },\n      \"calls\": 1,\n      \"failed_calls\": 0\n    }\n  ],\n  \"decisions\": [\n    {\n      \"model_a\": \"missing-owner-fixture\",\n      \"model_b\": \"complete-fixture\",\n      \"winner\": \"model_b_better\",\n      \"reason\": \"Exact-field matches: missing-owner-fixture 2/4; complete-fixture 4/4.\",\n      \"confidence\": null\n    }\n  ],\n  \"tournament\": {\n    \"prompt_id\": \"owner-and-action:28129bbae2a0f3413b26f819d4cc32b6c66fb90c84ad3ad6ee37363e498ea276\",\n    \"current_ranking\": [\n      {\n        \"rank\": 1,\n        \"status\": \"Ranked\",\n        \"provider\": \"fixture\",\n        \"provider_key\": \"fixture\",\n        \"model_id\": \"complete-fixture\",\n        \"display_label\": \"complete-fixture\",\n        \"input_cost_per_million\": null,\n        \"output_cost_per_million\": null\n      },\n      {\n        \"rank\": 2,\n        \"status\": \"Ranked\",\n        \"provider\": \"fixture\",\n        \"provider_key\": \"fixture\",\n        \"model_id\": \"missing-owner-fixture\",\n        \"display_label\": \"missing-owner-fixture\",\n        \"input_cost_per_million\": null,\n        \"output_cost_per_million\": null\n      },\n      {\n        \"rank\": 3,\n        \"status\": \"Disqualified\",\n        \"provider\": \"fixture\",\n        \"provider_key\": \"fixture\",\n        \"model_id\": \"malformed-fixture\",\n        \"display_label\": \"malformed-fixture\",\n        \"input_cost_per_million\": null,\n        \"output_cost_per_million\": null,\n        \"reason\": \"evaluation failed: ProviderFailure: Candidate output is not a JSON object; remaining artifacts for this candidate were skipped.\"\n      }\n    ],\n    \"battles\": [\n      {\n        \"battle_id\": \"battle-0001\",\n        \"model_a\": {\n          \"provider\": \"fixture\",\n          \"provider_key\": \"fixture\",\n          \"model_id\": \"missing-owner-fixture\",\n          \"display_label\": \"missing-owner-fixture\",\n          \"input_cost_per_million\": null,\n          \"output_cost_per_million\": null\n        },\n        \"model_b\": {\n          \"provider\": \"fixture\",\n          \"provider_key\": \"fixture\",\n          \"model_id\": \"complete-fixture\",\n          \"display_label\": \"complete-fixture\",\n          \"input_cost_per_million\": null,\n          \"output_cost_per_million\": null\n        },\n        \"decision\": {\n          \"winner\": \"model_b_better\",\n          \"short_reason\": \"Exact-field matches: missing-owner-fixture 2/4; complete-fixture 4/4.\",\n          \"confidence\": null\n        }\n      }\n    ],\n    \"cache_hits\": 0,\n    \"evaluations\": 4\n  },\n  \"error\": null,\n  \"cost_summary\": {\n    \"estimated_subtotals\": [],\n    \"calls_without_cost_estimate\": 0,\n    \"complete_for_attempted_provider_calls\": false,\n    \"note\": \"No energy/hardware/subscription costs are inferred. Subtotals omit calls whose usage or rates are unavailable.\"\n  },\n  \"provider_calls_attempted\": 0,\n  \"finished_at\": \"2026-09-19T13:48:05.633446+00:00\"\n}",
        "setup": "From the repository root, follow the dependency requirements in the README. This example uses supplied synthetic material.",
        "command": "python -m pip install -e .\nrubric-rumble demo --out runs/first-run",
        "success": "4/4 exact fields, 2/4 exact fields, one malformed candidate disqualified; JSON/HTML evidence, zero provider calls."
      },
      "demo_url": "https://cinvanaai.github.io/rubric-rumble/",
      "family_ids": [
        "transcript-evaluation"
      ],
      "lineage": {
        "package_kind": "public_continuation",
        "package_kind_label": "Public continuation",
        "origin_summary": "Rubric Rumble, formerly Mortal Kombat, continues the Prompt Tournament Engine core extracted from the Active Prompt subsystem in Transcript Model Evaluator.",
        "public_package_changes": "Preserves the original tournament core/API and adds portable task/provider/judge/cost evidence, a desktop workbench, discovery, greeting probes, and source-grounded model facts.",
        "boundary": "The runnable replay uses synthetic fixtures. Two separately presented historical battles retain original model responses from the archived evaluator. Design ancestry through Skeleton does not mean the current TypeScript Skeleton contains this implementation.",
        "documented_dates": [],
        "relationships": [
          {
            "target": "transcript-model-evaluator",
            "relation": "standalone_continuation_of",
            "label": "Tournament origin",
            "visitor_value": "Inspect the original Active Prompt operator context and judge machinery.",
            "caveat": "The standalone desktop and preparation workflow are new portable implementations inspired by the original evaluator; they do not depend on its desktop application.",
            "sources": [
              "https://github.com/CinvanaAI/rubric-rumble/blob/a8c714530e82e945b48aa939f4e14bb0bd26fa83/docs/ORIGIN.md#L1-L7"
            ]
          },
          {
            "target": "model-provider-compatibility-lab",
            "relation": "adapts_design_from",
            "label": "Provider evidence companion",
            "visitor_value": "Inspect provider/model/task evidence and normalization ideas adapted into the standalone workflow.",
            "caveat": "Documented adaptation of request/response and usage/rate ideas; not an external runtime dependency.",
            "sources": [
              "https://github.com/CinvanaAI/rubric-rumble/blob/a8c714530e82e945b48aa939f4e14bb0bd26fa83/docs/ORIGIN.md#L1-L7"
            ]
          }
        ],
        "sources": [
          "https://github.com/CinvanaAI/rubric-rumble/blob/a8c714530e82e945b48aa939f4e14bb0bd26fa83/docs/ORIGIN.md#L1-L7"
        ]
      },
      "operation_url": "https://cinvanaai.github.io/rubric-rumble/operations/",
      "historical_example": {
        "title": "Gemma 3 27B beat DeepSeek V3.1 671B in this recorded battle.",
        "description": "GPT-5.4 preferred Gemma's execution-critical detail and format compliance on ten transcript examples. A second comparison records GPT-4.1 mini winning against GPT-5 Chat. Read all forty original answers and both judge decisions.",
        "url": "https://cinvanaai.github.io/rubric-rumble/history/",
        "scope": "Two selected March 2026 comparisons under the saved task, rubric and judge. DeepSeek V3.1 has 671B total parameters, with 37B active per token."
      },
      "scope_label": "Historical battles and a standalone workbench"
    },
    {
      "slug": "RevEng",
      "title": "RevEng",
      "job": "Map unfamiliar Python code into file breakdowns, relationships, reports and visible unknowns.",
      "kind": "Workbench",
      "tags": [
        "Code & architecture"
      ],
      "repository": "https://github.com/CinvanaAI/RevEng",
      "mechanism": "Executable source evidence and explicit unknowns make a provisional architecture account auditable.",
      "scope": "Source with a complete offline example.",
      "limits": [
        "Static relationships and inferred behavior are provisional. Dynamic imports/calls and framework behavior may remain unresolved. Optional model/desktop surfaces need their own configuration; the first example uses neither."
      ],
      "sources": [
        {
          "path": "examples/result.json",
          "label": "Complete captured result"
        },
        {
          "path": "reveng/cli.py",
          "label": "reveng/cli.py"
        },
        {
          "path": "reveng/analysis_engine/workflows/repo_analysis.py",
          "label": "reveng/analysis_engine/workflows/repo_analysis.py"
        },
        {
          "path": "tests/test_host_workflow.py",
          "label": "tests/test_host_workflow.py"
        },
        {
          "path": "ASSETS.md",
          "label": "ASSETS.md"
        }
      ],
      "keywords": [
        "Python",
        "source analysis",
        "architecture"
      ],
      "license": "MIT",
      "example": {
        "title": "See the idea in action.",
        "label": "Recorded synthetic example",
        "output_label": "Captured result",
        "description": "The static workflow writes a file inventory, relationship map, per-file breakdowns, dossier, validation and unknowns. It does not execute the input repository or call a model.",
        "input": "Three small Python files with explicit imports and function calls.",
        "output": "{\n  \"mode\": \"Actual static analysis; included synthetic source\",\n  \"file_count\": 3,\n  \"source_files\": [\n    \"formatting.py\",\n    \"helper.py\",\n    \"main.py\"\n  ],\n  \"artifacts\": {\n    \"inventory_path\": \"repo_inventory.json\",\n    \"relation_map_path\": \"relation_map.json\",\n    \"file_breakdowns_path\": \"file_breakdowns.json\",\n    \"enriched_path\": \"enriched_file_breakdowns.json\",\n    \"cluster_map_path\": \"subsystem_map.json\",\n    \"flow_map_path\": \"flow_map.json\",\n    \"repo_dossier_path\": \"repo_dossier.json\",\n    \"validation_report_path\": \"validation_report.json\",\n    \"unknowns_path\": \"unknowns.json\"\n  },\n  \"model_calls\": 0\n}",
        "setup": "From the repository root, follow the dependency requirements in the README. This example uses supplied synthetic material.",
        "command": "python -m pip install -e .\npython -m examples.offline_demo --out output/first-analysis",
        "success": "The static workflow writes a file inventory, relationship map, per-file breakdowns, dossier, validation and unknowns. It does not execute the input repository or call a model."
      },
      "family_ids": [],
      "lineage": {
        "package_kind": "existing_public_project",
        "package_kind_label": "Existing public project",
        "origin_summary": "Existing public Python repository-analysis application included in the collection.",
        "public_package_changes": "Current README supplies a complete offline static-analysis entry path plus links to its broader local workbench.",
        "boundary": "The allowed evidence does not establish its original date or a direct code-parent relationship to Skeleton.",
        "documented_dates": [],
        "relationships": [],
        "sources": [
          "https://github.com/CinvanaAI/RevEng/blob/5bf336127fee25b243c7393f3153b8d740ee4e04/README.md#L1-L40"
        ]
      }
    },
    {
      "slug": "rpg-character-rules-engine",
      "title": "RPG Character Rules",
      "job": "Create and validate character sheets without running a Discord bot.",
      "kind": "Library",
      "tags": [
        "Games & interaction"
      ],
      "repository": "https://github.com/CinvanaAI/rpg-character-rules-engine",
      "mechanism": "Character data, numerical rules and chat presentation can have separate contracts without losing a usable whole.",
      "scope": "Source with a complete offline example.",
      "limits": [
        "This is a character-data and numeric-rules utility, not a complete tabletop ruleset. Valid abilities do not fill every field or prove a finished character. Default point-buy and standard-array profiles can be selected explicitly."
      ],
      "sources": [
        {
          "path": "examples/result.json",
          "label": "Complete captured result"
        },
        {
          "path": "rpg_character_rules/rules.py",
          "label": "rpg_character_rules/rules.py"
        },
        {
          "path": "rpg_character_rules/storage.py",
          "label": "rpg_character_rules/storage.py"
        },
        {
          "path": "examples/offline_demo.py",
          "label": "examples/offline_demo.py"
        }
      ],
      "keywords": [
        "games",
        "rules",
        "character sheets"
      ],
      "license": "MIT",
      "example": {
        "title": "See the idea in action.",
        "label": "Recorded synthetic example",
        "output_label": "Captured result",
        "description": "The example saves and reopens the character, changes two identity fields, rejects an invalid ability assignment and reports remaining completeness checks. It uses disposable local files.",
        "input": "A synthetic character and a 27-point ability assignment.",
        "output": "{\n  \"mode\": \"Synthetic character; actual rules and revisioned persistence\",\n  \"name\": \"Mira Vale\",\n  \"abilities\": {\n    \"STR\": \"15\",\n    \"DEX\": \"15\",\n    \"CON\": \"15\",\n    \"INT\": \"8\",\n    \"WIS\": \"8\",\n    \"CHA\": \"8\"\n  },\n  \"class\": \"Fighter 1\",\n  \"revision\": 4,\n  \"required_profile_issues\": [],\n  \"invalid_ability_rejected\": \"STR must be between 8 and 15.\",\n  \"stale_edit_rejected\": \"Stale sheet revision: expected 1, current 4.\",\n  \"other_blank_fields\": 119\n}",
        "setup": "From the repository root, follow the dependency requirements in the README. This example uses supplied synthetic material.",
        "command": "python -m pip install -e .\npython -m examples.offline_demo",
        "success": "The example saves and reopens the character, changes two identity fields, rejects an invalid ability assignment and reports remaining completeness checks. It uses disposable local files."
      },
      "family_ids": [
        "persistent-rpg"
      ],
      "lineage": {
        "package_kind": "focused_extraction",
        "package_kind_label": "Focused extraction",
        "origin_summary": "February 2026 Persistent Discord RPG character subsystem.",
        "public_package_changes": "Retains field taxonomy and numeric rules while adding neutral sheets, strict schemas, atomic storage and revisions.",
        "boundary": "No bot adapters, Discord identifiers, private characters or campaign membership are included.",
        "documented_dates": [
          {
            "value": "2026-02",
            "precision": "month",
            "scope": "Historical RPG character subsystem from which this was extracted.",
            "is_project_start": false,
            "sources": [
              "https://github.com/CinvanaAI/rpg-character-rules-engine/blob/679dc2f963e442021197a871fccb63c8b646c920/ORIGIN.md#L3-L3"
            ]
          }
        ],
        "relationships": [
          {
            "target": "persistent-discord-rpg",
            "relation": "extracted_from",
            "label": "Source workbench / parent system",
            "visitor_value": "See the integrated setting from which this independently useful mechanism was separated.",
            "caveat": "The extract contains new neutral interfaces and hardening; the original integrated application remains represented.",
            "sources": [
              "https://github.com/CinvanaAI/rpg-character-rules-engine/blob/679dc2f963e442021197a871fccb63c8b646c920/ORIGIN.md#L1-L7"
            ]
          }
        ],
        "sources": [
          "https://github.com/CinvanaAI/rpg-character-rules-engine/blob/679dc2f963e442021197a871fccb63c8b646c920/ORIGIN.md#L1-L7"
        ]
      }
    },
    {
      "slug": "transcript-model-evaluator",
      "title": "Transcript Model Evaluator",
      "job": "Study a desktop experiment that kept tasks, model attempts, judgments and pricing views together.",
      "kind": "Experiment",
      "tags": [
        "Models & evaluation"
      ],
      "repository": "https://github.com/CinvanaAI/transcript-model-evaluator",
      "mechanism": "Prompt definitions, current model records, raw provider evidence and derived views represent different kinds of information; separating them avoids treating a cache as truth.",
      "scope": "An executable experiment using supplied synthetic inputs.",
      "limits": [
        "This package is a workbench study. Its shipped desktop sample does not complete a tournament. `release_check.py` checks general registry structure; that success alone does not establish a working battle. Historical model and price records are not current recommendations."
      ],
      "sources": [
        {
          "path": "examples/result.json",
          "label": "Complete captured result"
        },
        {
          "path": "active_prompt/battle/service.py",
          "label": "active_prompt/battle/service.py"
        },
        {
          "path": "system_prompt/prompts/battle_pairwise_judge.py",
          "label": "system_prompt/prompts/battle_pairwise_judge.py"
        },
        {
          "path": "pricing/system_prompt/estimates.py",
          "label": "pricing/system_prompt/estimates.py"
        },
        {
          "path": "tests/test_public_snapshot.py",
          "label": "tests/test_public_snapshot.py"
        },
        {
          "path": "examples/case-input.json",
          "label": "Complete synthetic task, rubric and candidate answers"
        },
        {
          "path": "examples/judge-request.txt",
          "label": "Exact readable judge request"
        },
        {
          "path": "CASE_STUDY.md",
          "label": "Workbench source trace and continuation ideas"
        }
      ],
      "keywords": [
        "research",
        "model evaluation",
        "desktop"
      ],
      "license": "MIT",
      "example": {
        "title": "See the idea in action.",
        "label": "Recorded synthetic example",
        "output_label": "Captured result",
        "description": "The original judge contract assembles the request and parses the decision. A separate check reports that the shipped sample task lacks its rubric, artifacts and registered pairwise judge. No models are called.",
        "input": "One source artifact, a rubric, two synthetic responses and a fixture judge reply.",
        "output": "{\n  \"mode\": \"Workbench contract study; synthetic judge response\",\n  \"snapshot_battle_readiness\": {\n    \"prompt_id\": \"sample_review\",\n    \"ready\": false,\n    \"checks\": [\n      {\n        \"name\": \"rubric\",\n        \"present\": false\n      },\n      {\n        \"name\": \"artifacts\",\n        \"present\": false\n      },\n      {\n        \"name\": \"pairwise_judge_registration\",\n        \"present\": false\n      }\n    ],\n    \"scope\": \"Files and registration only; no provider availability or GUI execution test.\"\n  },\n  \"request\": \"Judge only against the source and rubric.\\n\\nPrompt Metadata:\\n- prompt_id: synthetic-owner\\n- name: Extract an owner\\n\\nSource Prompt Text:\\nReturn the named owner.\\n\\nModel A: Complete fixture\\nModel B: Missing fixture\\n\\nRubric ID: exact-owner\\nRubric Total Points: 1\\n\\nRubric Categories:\\n- Owner (1 pts): Preserve the exact named owner.\\n\\nArtifact Results:\\n\\nArtifact ID: owner\\nArtifact Filename: owner.txt\\nSource Artifact:\\nMorgan owns this item.\\n\\nModel A (Complete fixture):\\nRun Outcome: success\\nRaw Output:\\nMorgan\\n\\nModel B (Missing fixture):\\nRun Outcome: success\\nRaw Output:\\nUnknown\\n\",\n  \"synthetic_judge_text\": \"{\\\"winner\\\":\\\"model_a_better\\\",\\\"short_reason\\\":\\\"The complete fixture preserves Morgan.\\\",\\\"confidence\\\":1.0}\",\n  \"parsed_decision\": {\n    \"winner\": \"model_a_better\",\n    \"short_reason\": \"The complete fixture preserves Morgan.\",\n    \"confidence\": 1.0\n  },\n  \"network_calls\": 0\n}",
        "setup": "From the repository root, follow the dependency requirements in the README. This example uses supplied synthetic material.",
        "command": "python -m pip install -r requirements.txt\npython -m examples.offline_case",
        "success": "The original judge contract assembles the request and parses the decision. A separate check reports that the shipped sample task lacks its rubric, artifacts and registered pairwise judge. No models are called."
      },
      "family_ids": [
        "transcript-evaluation"
      ],
      "lineage": {
        "package_kind": "research_case",
        "package_kind_label": "Preserved research case",
        "origin_summary": "Archived integrated transcript-evaluation operator console.",
        "public_package_changes": "Preserves the application as a study with synthetic data; the independent MK workflow develops reusable pieces.",
        "boundary": "The shipped desktop sample does not complete a tournament. Its platform ancestry does not identify a branch of current Skeleton.",
        "documented_dates": [
          {
            "value": "2026-03",
            "precision": "month",
            "scope": "Its change_workbench subsystem is dated March 2026; not a date for every evaluator generation.",
            "is_project_start": false,
            "sources": [
              "https://github.com/CinvanaAI/governed-change-workbench/blob/1dcdd23c4cb6dbc2dfce506f1d58730392218b67/ORIGIN.md#L3-L3"
            ]
          }
        ],
        "relationships": [
          {
            "target": "model-provider-compatibility-lab",
            "relation": "has_extraction",
            "label": "Focused extraction",
            "visitor_value": "Inspect or reuse this boundary without navigating the whole application.",
            "caveat": "",
            "sources": [
              "https://github.com/CinvanaAI/model-provider-compatibility-lab/blob/2587ae4e9da9f9fdb83064cb58f335de12ed8d48/ORIGIN.md#L1-L15"
            ]
          },
          {
            "target": "governed-change-workbench",
            "relation": "has_extraction",
            "label": "Focused extraction",
            "visitor_value": "Inspect or reuse this boundary without navigating the whole application.",
            "caveat": "",
            "sources": [
              "https://github.com/CinvanaAI/governed-change-workbench/blob/1dcdd23c4cb6dbc2dfce506f1d58730392218b67/ORIGIN.md#L1-L7"
            ]
          },
          {
            "target": "rubric-rumble",
            "relation": "has_standalone_continuation",
            "label": "Standalone evaluation workflow",
            "visitor_value": "Try the complete task-to-results path developed from reusable pieces of this work.",
            "caveat": "",
            "sources": [
              "https://github.com/CinvanaAI/rubric-rumble/blob/a8c714530e82e945b48aa939f4e14bb0bd26fa83/docs/ORIGIN.md#L1-L7"
            ]
          }
        ],
        "sources": [
          "https://github.com/CinvanaAI/transcript-model-evaluator/blob/d0358512315b4ca4c16471e16061f64bf35541cb/ORIGIN.md#L1-L19"
        ]
      }
    },
    {
      "slug": "transcript-to-github-projects",
      "title": "Transcript to GitHub Projects",
      "job": "Study how a transcript becomes a proposed work plan while preserving the model response for review.",
      "kind": "Experiment",
      "tags": [
        "Models & evaluation"
      ],
      "repository": "https://github.com/CinvanaAI/transcript-to-github-projects",
      "mechanism": "Raw model output and observed provider success are evidence to review; neither automatically authorizes public work creation.",
      "scope": "An executable experiment using supplied synthetic inputs.",
      "limits": [
        "The desktop publishing handoff is deferred. This package preserves the workbench as an inspectable case rather than claiming complete transcript-to-published-project automation. Historical model defaults and pricing snapshots need revalidation for a live account."
      ],
      "sources": [
        {
          "path": "examples/result.json",
          "label": "Complete captured result"
        },
        {
          "path": "app/pipeline.py",
          "label": "app/pipeline.py"
        },
        {
          "path": "app/translator.py",
          "label": "app/translator.py"
        },
        {
          "path": "app/ui.py",
          "label": "app/ui.py"
        },
        {
          "path": "app/github_projects.py",
          "label": "app/github_projects.py"
        }
      ],
      "keywords": [
        "research",
        "transcripts",
        "planning"
      ],
      "license": "MIT",
      "example": {
        "title": "See the idea in action.",
        "label": "Recorded synthetic example",
        "output_label": "Captured result",
        "description": "The actual analysis coordinator reads the input, saves the raw response and validates its project schema. The example uses injected provider/configuration boundaries and makes no network calls.",
        "input": "A synthetic conversation requesting a review queue and an explicitly authored provider response.",
        "output": "{\n  \"structured_fixture\": {\n    \"mode\": \"Actual coordinator; explicitly authored fixture response\",\n    \"source\": \"User: Make a review queue. Require approval before publishing any item.\",\n    \"request_messages\": [\n      {\n        \"role\": \"system\",\n        \"content\": \"You review software-planning conversations and produce a helpful raw analysis.\\n\\nDo not assume a fixed schema.\\nYou may answer in plain text, markdown, bullets, or JSON if you choose.\\nPreserve important goals, tasks, decisions, constraints, and open questions when relevant.\\nDo not invent unsupported facts.\"\n      },\n      {\n        \"role\": \"user\",\n        \"content\": \"Review the following conversation transcript.\\nReturn your best raw analysis for human review.\\nTranscript:\\nUser: Make a review queue. Require approval before publishing any item.\"\n      }\n    ],\n    \"captured_raw_response\": \"{\\\"project_title\\\": \\\"Workshop Review Queue\\\", \\\"project_description\\\": \\\"Review proposed work before publication.\\\", \\\"source_summary\\\": \\\"Synthetic planning request.\\\", \\\"items\\\": [{\\\"type\\\": \\\"Task\\\", \\\"title\\\": \\\"Add a review gate\\\", \\\"body\\\": \\\"Require a person to approve each draft.\\\", \\\"priority\\\": \\\"High\\\", \\\"confidence\\\": \\\"High\\\", \\\"phase\\\": \\\"V1\\\", \\\"needs_review\\\": true}]}\",\n    \"raw_preserved_exactly\": true,\n    \"schema_validation\": {\n      \"passed\": true,\n      \"project_title\": \"Workshop Review Queue\"\n    },\n    \"compatibility_status\": \"supported\",\n    \"human_approval_performed\": false,\n    \"published\": false,\n    \"network_calls\": 0\n  },\n  \"raw_prose_fixture\": {\n    \"mode\": \"Actual coordinator; explicitly authored fixture response\",\n    \"source\": \"User: Make a review queue. Require approval before publishing any item.\",\n    \"request_messages\": [\n      {\n        \"role\": \"system\",\n        \"content\": \"You review software-planning conversations and produce a helpful raw analysis.\\n\\nDo not assume a fixed schema.\\nYou may answer in plain text, markdown, bullets, or JSON if you choose.\\nPreserve important goals, tasks, decisions, constraints, and open questions when relevant.\\nDo not invent unsupported facts.\"\n      },\n      {\n        \"role\": \"user\",\n        \"content\": \"Review the following conversation transcript.\\nReturn your best raw analysis for human review.\\nTranscript:\\nUser: Make a review queue. Require approval before publishing any item.\"\n      }\n    ],\n    \"captured_raw_response\": \"The conversation asks for a review queue with explicit approval before publication.\",\n    \"raw_preserved_exactly\": true,\n    \"schema_validation\": {\n      \"passed\": false,\n      \"error_type\": \"JSONDecodeError\"\n    },\n    \"compatibility_status\": \"supported\",\n    \"human_approval_performed\": false,\n    \"published\": false,\n    \"network_calls\": 0\n  }\n}",
        "setup": "From the repository root, follow the dependency requirements in the README. This example uses supplied synthetic material.",
        "command": "python -m pip install -r requirements.txt\npython -m examples.offline_case",
        "success": "The actual analysis coordinator reads the input, saves the raw response and validates its project schema. The example uses injected provider/configuration boundaries and makes no network calls."
      },
      "family_ids": [
        "transcript-planning"
      ],
      "lineage": {
        "package_kind": "research_case",
        "package_kind_label": "Preserved research case",
        "origin_summary": "Historical conversation_to_github_projects planning application.",
        "public_package_changes": "Keeps its reusable workbench source, refreshes public imports/examples and separates its publishing helper and nested evaluator work.",
        "boundary": "The desktop publishing handoff remains deferred; a nested successor is documented without a reliable full dated chronology.",
        "documented_dates": [],
        "relationships": [
          {
            "target": "github-projects-v2-draft-publisher",
            "relation": "has_extraction",
            "label": "Focused extraction",
            "visitor_value": "Inspect or reuse this boundary without navigating the whole application.",
            "caveat": "The parent desktop handoff is deferred; the helper has its own complete reviewed-plan interface.",
            "sources": [
              "https://github.com/CinvanaAI/github-projects-v2-draft-publisher/blob/3def854ea3d0f34287af73b439d88cca07469d1f/ORIGIN.md#L1-L11"
            ]
          }
        ],
        "sources": [
          "https://github.com/CinvanaAI/transcript-to-github-projects/blob/188436cd145a0e2e44418c9b0b3402ed8ed4f4bd/ORIGIN.md#L1-L11"
        ]
      }
    },
    {
      "slug": "Astra-l-Projection",
      "title": "Astra-l-Projection",
      "job": "Connect conversation to a camera and bounded movement in your own Unreal project.",
      "kind": "Developer starter",
      "tags": [
        "Games & interaction",
        "Workflows & capabilities"
      ],
      "repository": "https://github.com/CinvanaAI/Astra-l-Projection",
      "mechanism": "A local command queue links a native body to a Python client and a replaceable conversation provider.",
      "scope": "Experimental source developer starter. Your own Unreal C++ project supplies its map, character, collision, and assets.",
      "limits": [
        "Native build/runtime evidence is release-specific to Unreal 5.8.2 on Windows; other engine versions and platforms remain unverified.",
        "The recorded conversation round trip used a deterministic provider. Live Codex inference and keyboard chat have not been validated.",
        "No avatar, world, voice, autonomous continuous perception, or universal animation setup is included."
      ],
      "sources": [
        {
          "path": "docs/QUICKSTART.md",
          "label": "Native project setup and first observation"
        },
        {
          "path": "docs/VALIDATION.md",
          "label": "Release evidence and reproduction instructions"
        },
        {
          "path": "client/player.py",
          "label": "Command client"
        },
        {
          "path": "bridge/bridge.py",
          "label": "Conversation bridge"
        }
      ],
      "license": "MIT",
      "demo_url": "https://github.com/CinvanaAI/Astra-l-Projection/releases/download/v0.1.0-preview.2/astra-l-projection-walkthrough.mp4",
      "example": {
        "title": "Give the conversation a viewpoint.",
        "label": "Recorded native checks and diagnostic provider",
        "description": "The release includes a 32-second walkthrough using labeled diagrams and actual eye-camera stills. The portable client, bridge, adapter, and installer checks were rerun during this catalogue preparation.",
        "input": "A local Play session with a blocking floor, the agent actor, and the source plugin compiled into a compatible Unreal project.",
        "output": "Release record: 11 native checks; two inspected 640 × 360 camera captures; diagnostic human-event → bridge → provider → native reply. Fresh portable checks: 31 passed.",
        "setup": "Start with the linked native setup guide. Unreal and native build tools must already be installed. Set QUEUE_PATH to your project’s Saved/AgentEmbodiment directory after starting Play.",
        "command": "python client/player.py --root QUEUE_PATH observe\npython client/player.py --root QUEUE_PATH look --yaw-delta-deg 15\npython client/player.py --root QUEUE_PATH stop",
        "success": "Inspect the returned eye-camera image and correlated action result. The native guide explains the expected records."
      },
      "family_ids": [],
      "lineage": {
        "package_kind": "developer_starter",
        "package_kind_label": "Adapted developer starter",
        "origin_summary": "Embodiment runtime controls and conversation routing built with Astra.",
        "public_package_changes": "Extracts that foundation and adds portable Unreal connection tools and release-specific checks.",
        "boundary": "Source starter requires the recipient Unreal project; deterministic native evidence does not establish live model inference.",
        "documented_dates": [],
        "relationships": [],
        "sources": [
          "https://github.com/CinvanaAI/Astra-l-Projection/blob/16657477d1c3f9dbee61443b40a81871ff7c2360/README.md#L1-L86"
        ]
      }
    },
    {
      "slug": "DeckScope",
      "title": "DeckScope",
      "job": "Trace a document's claims to evidence, contested points and unanswered questions.",
      "kind": "Workbench",
      "tags": [
        "Models & evaluation",
        "Data & provenance"
      ],
      "repository": "https://github.com/CinvanaAI/DeckScope",
      "mechanism": "Source spans connect claims to supplied model or mock assessments. The report groups those assessments and computes counts; it does not independently establish that a claim is true.",
      "scope": "Source with a complete offline example.",
      "limits": [
        "The displayed example uses a mock provider and no live research. Fixture output demonstrates pipeline behavior, not analysis quality or financial conclusions."
      ],
      "sources": [
        {
          "path": "deckscope/examples/sample_deck.md",
          "label": "Runnable example and its input"
        },
        {
          "path": "examples/catalogue-demo/findings.json",
          "label": "Complete captured result"
        },
        {
          "path": "deckscope/findings.py",
          "label": "deckscope/findings.py"
        },
        {
          "path": "deckscope/sources.py",
          "label": "deckscope/sources.py"
        },
        {
          "path": "deckscope/orchestrator.py",
          "label": "deckscope/orchestrator.py"
        },
        {
          "path": "deckscope/render/html_renderer.py",
          "label": "deckscope/render/html_renderer.py"
        }
      ],
      "keywords": [
        "document evidence",
        "claim review",
        "reports"
      ],
      "license": "MIT",
      "example": {
        "title": "See the idea in action.",
        "label": "Recorded synthetic example",
        "output_label": "Selected complete fields from the captured result",
        "description": "Six examined claims, two contested claims, two omissions, two unknowns; HTML/Markdown/JSON reports.",
        "input": "Bundled synthetic Acme Flow pitch deck.",
        "output": "{\n  \"kind\": \"synthetic demonstration\",\n  \"provider\": \"mock\",\n  \"research_backend\": \"none\",\n  \"source_input\": \"deckscope/examples/sample_deck.md\",\n  \"notice\": \"Fixture-generated analysis. These are illustrative workflow outputs, not verified real-world findings or measured analysis quality.\",\n  \"findings\": {\n    \"headline\": \"Two claims are contested by cited evidence (one outright, one partly supported) \\u2014 deck states $47B; Independent 2026 estimates put the whole workflow-automation category at $18-24B, not the $45-50B\\u2026, the deck omits Microsoft Power Automate arriving free inside E5 and 1 other gap, and two further claims could not be checked either way. Eight questions to resolve before this can be judged.\",\n    \"contested\": [\n      {\n        \"kind\": \"contested\",\n        \"text\": \"The workflow automation market is $47B, growing at 23% CAGR\",\n        \"why\": \"Use the evidence range as the working number and read the gap as a signal about how the deck was assembled.\",\n        \"delta\": \"deck states $47B; Independent 2026 estimates put the whole workflow-automation category at $18-24B, not the $45-50B figures circulating in vendor-sponsored reports.\",\n        \"severity\": \"high\",\n        \"evidence_quality\": \"strong\",\n        \"source_ids\": [\n          \"S1\"\n        ],\n        \"claim_id\": \"C1\",\n        \"assessment\": \"contradicted\"\n      },\n      {\n        \"kind\": \"contested\",\n        \"text\": \"Average contract value: $28,000. Gross margin: 78%\",\n        \"why\": \"Consistent with the evidence retrieved.\",\n        \"delta\": \"deck states $28,000.; Products that run an LLM planner on every workflow execution report gross margins of 55-68% once inference is loaded into COGS, against 78-85% for\\u2026\",\n        \"severity\": \"medium\",\n        \"evidence_quality\": \"moderate\",\n        \"source_ids\": [\n          \"S4\"\n        ],\n        \"claim_id\": \"C4\",\n        \"assessment\": \"partially-supported\"\n      }\n    ],\n    \"omissions\": [\n      {\n        \"kind\": \"omission\",\n        \"text\": \"Microsoft Power Automate arriving free inside E5\",\n        \"why\": \"The marginal cost of the bundled option is zero for a buyer already paying for E5.\",\n        \"delta\": \"\",\n        \"severity\": \"high\",\n        \"evidence_quality\": \"\",\n        \"source_ids\": [\n          \"S2\"\n        ],\n        \"claim_id\": \"\",\n        \"assessment\": \"\"\n      },\n      {\n        \"kind\": \"omission\",\n        \"text\": \"Buyer budgets are substitution, not net-new\",\n        \"why\": \"A TAM built by counting companies overstates the reachable market when the buyer must first stop paying someone else.\",\n        \"delta\": \"\",\n        \"severity\": \"high\",\n        \"evidence_quality\": \"\",\n        \"source_ids\": [\n          \"S6\"\n        ],\n        \"claim_id\": \"\",\n        \"assessment\": \"\"\n      }\n    ],\n    \"unverified\": [\n      {\n        \"kind\": \"unverified\",\n        \"text\": \"SAM: $6B (mid-market North America)\",\n        \"why\": \"Ask the founder directly; nothing retrieved settles it.\",\n        \"delta\": \"deck states $6B; Independent 2026 estimates put the whole workflow-automation category at $18-24B, not the $45-50B figures circulating in vendor-sponsored reports.\",\n        \"severity\": \"low\",\n        \"evidence_quality\": \"none\",\n        \"source_ids\": [],\n        \"claim_id\": \"C2\",\n        \"assessment\": \"unverifiable\"\n      },\n      {\n        \"kind\": \"unverified\",\n        \"text\": \"$1.2M pipeline\",\n        \"why\": \"Ask the founder directly; nothing retrieved settles it.\",\n        \"delta\": \"No evidence was retrieved that speaks to this figure.\",\n        \"severity\": \"low\",\n        \"evidence_quality\": \"none\",\n        \"source_ids\": [],\n        \"claim_id\": \"C6\",\n        \"assessment\": \"unverifiable\"\n      }\n    ],\n    \"holds\": [\n      {\n        \"kind\": \"holds\",\n        \"text\": \"$2,000/month platform fee plus usage\",\n        \"why\": \"Consistent with the evidence retrieved.\",\n        \"delta\": \"\",\n        \"severity\": \"low\",\n        \"evidence_quality\": \"moderate\",\n        \"source_ids\": [\n          \"S3\"\n        ],\n        \"claim_id\": \"C3\",\n        \"assessment\": \"supported\"\n      },\n      {\n        \"kind\": \"holds\",\n        \"text\": \"18% month-over-month growth, four months running\",\n        \"why\": \"Consistent with the evidence retrieved.\",\n        \"delta\": \"\",\n        \"severity\": \"low\",\n        \"evidence_quality\": \"moderate\",\n        \"source_ids\": [\n          \"S5\"\n        ],\n        \"claim_id\": \"C5\",\n        \"assessment\": \"supported\"\n      }\n    ],\n    \"next_steps\": [\n      \"Reframe market slide around the $3-5B serviceable slice\",\n      \"Add a slide addressing Power Automate directly\",\n      \"Disclose retention and CAC payback\",\n      \"Ask the founder: What is net revenue retention on the first 11 customers?\",\n      \"Ask the founder: How many deals were competitive against Power Automate, and what happened?\",\n      \"Ask the founder: Is inference cost inside the 78% margin?\",\n      \"Verify or refute \\u201cSAM: $6B (mid-market North America)\\u201d \\u2014 the research found nothing either way.\",\n      \"Verify or refute \\u201c$1.2M pipeline\\u201d \\u2014 the research found nothing either way.\"\n    ],\n    \"evidence_state\": \"2 of 2 contested points cite retrieved evidence; 6 of 6 sources were used.\",\n    \"evidence_too_thin\": false,\n    \"evidence_reason\": \"ok\",\n    \"counts\": {\n      \"contested\": 2,\n      \"omissions\": 2,\n      \"unverified\": 2,\n      \"holds\": 2,\n      \"claims_examined\": 6,\n      \"contested_with_evidence\": 2\n    },\n    \"vertical\": \"deck\"\n  }\n}",
        "setup": "From the repository root, follow the dependency requirements in the README. This example uses supplied synthetic material.",
        "command": "python -m pip install -e .\npython -m deckscope demo --out output --format html md json",
        "success": "Six examined claims, two contested claims, two omissions, two unknowns; HTML/Markdown/JSON reports."
      },
      "demo_url": "https://cinvanaai.github.io/lab-portfolio/demos/DeckScope/index.html",
      "family_ids": [],
      "lineage": {
        "package_kind": "existing_public_project",
        "package_kind_label": "Existing public project",
        "origin_summary": "Existing public exploratory document-evidence application included in the collection.",
        "public_package_changes": "Current front door retains the broader guide and presents a labeled synthetic report path.",
        "boundary": "No code ancestry with the other evaluation tools is established by shared claims/evidence themes.",
        "documented_dates": [],
        "relationships": [],
        "sources": [
          "https://github.com/CinvanaAI/DeckScope/blob/6ee59aa92f77ec50ead9f383ce0a54e556b142a2/README.md#L1-L43"
        ]
      }
    }
  ],
  "families": [
    {
      "id": "builder-foundry",
      "title": "Builder, Factory and the Python Foundry",
      "kind": "documented_development_family",
      "narrative": "Builder and Factory orchestration experiments led into an integrated Python workbench. Its package compiler, Assembly, runner, chatroom and graph-import mechanisms now have focused public presentations; the Codex context tools preserve adjacent historical chatroom work.",
      "caveat": "Public Builder/Factory/Fungus packages are adapted continuations, not the entire original workspaces. The family does not prove each public package imports another.",
      "members": [
        "agent-assembly-runtime",
        "agent-chatroom-ledger",
        "builder-prototypes",
        "capability-graph-importer",
        "agent-foundry-blueprint-compiler",
        "ai-software-factory-prototype",
        "fungus-observability",
        "materialized-task-runner",
        "python-agent-foundry-workbench",
        "codex-session-transcript-exporter",
        "message-version-bundle-builder"
      ]
    },
    {
      "id": "skeleton-rebuild",
      "title": "Skeleton and the ownership rebuild",
      "kind": "documented_parent_and_extractions",
      "narrative": "The later TypeScript Skeleton keeps the integrated workbench. Package, agent-policy and execution boundaries can also be inspected separately, while Seven Ownership explains the architecture and its application.",
      "caveat": "This family follows the later TypeScript implementation. The older Python graph-editor generation and the current Rubric Rumble implementation are separate.",
      "members": [
        "agent-workflow-governance",
        "bounded-execution-ledger",
        "capability-package-workbench",
        "seven-ownership-architecture",
        "skeleton"
      ]
    },
    {
      "id": "transcript-evaluation",
      "title": "Transcript evaluation and Rubric Rumble",
      "kind": "documented_parent_and_continuations",
      "narrative": "The archived evaluator retains the wider console experiment. Provider evidence and governed changes are focused extractions; Rubric Rumble preserves its tournament core and develops a standalone evaluation workflow.",
      "caveat": "Design ancestry through the broader platform line is documented, but no full chronological chain or current Skeleton code dependency is established. The replay is synthetic.",
      "members": [
        "governed-change-workbench",
        "model-provider-compatibility-lab",
        "rubric-rumble",
        "transcript-model-evaluator"
      ]
    },
    {
      "id": "transcript-planning",
      "title": "Transcript planning and reviewed GitHub publication",
      "kind": "documented_parent_and_extraction",
      "narrative": "The planning workbench remains an inspectable historical case. Its GitHub Projects publishing helper has a standalone reviewed-plan interface.",
      "caveat": "The parent desktop publishing handoff is deferred; the standalone publisher does not make that handoff implemented.",
      "members": [
        "github-projects-v2-draft-publisher",
        "transcript-to-github-projects"
      ]
    },
    {
      "id": "conversation-archive",
      "title": "Conversation source, migration and Discord archives",
      "kind": "documented_integration_and_extraction",
      "narrative": "Conversation Engine owns the source and transformation vault. A separate ChatGPT toolkit can feed it; Discord Engine reads it and plans an archive. Topology Reconciler isolates planning mechanics from the Discord system.",
      "caveat": "Feeder and consumer links describe integration, not shared-code ancestry or delivery inside Conversation Engine.",
      "members": [
        "chatgpt-export-to-conversation-engine",
        "discord-topology-reconciler",
        "cinvana-conversation-engine",
        "cinvana-discord-engine"
      ]
    },
    {
      "id": "persistent-rpg",
      "title": "Persistent Discord RPG and its reusable mechanisms",
      "kind": "documented_parent_and_extractions",
      "narrative": "The campaign application remains available. Character rules and durable interaction state have focused platform-neutral extractions with their own hardening.",
      "caveat": "The extracts are adapted interfaces; neither alone is the entire bot.",
      "members": [
        "persistent-discord-rpg",
        "persistent-discord-state-machine",
        "rpg-character-rules-engine"
      ]
    },
    {
      "id": "dnd-graph",
      "title": "DnDGraph import and dice extraction",
      "kind": "documented_shared_source_experiment",
      "narrative": "The ETL package and the pure dice extractor expose distinct parts of the same DnDGraph experiment.",
      "caveat": "A shared source experiment is documented; a current package dependency is not.",
      "members": [
        "dice-expression-extractor",
        "dnd5e-graph-etl"
      ]
    },
    {
      "id": "atlas",
      "title": "Atlas kernel and domain-pack authoring",
      "kind": "documented_parent_and_extraction",
      "narrative": "The kernel supplies the graph and work/evidence machinery. The SDK isolates pack authoring and validation, while the kernel retains its validator.",
      "caveat": "The private atlas and its personal domain packs are excluded; both public examples are synthetic.",
      "members": [
        "atlas-domain-pack-sdk",
        "atlas-kernel"
      ]
    },
    {
      "id": "personal-dashboard",
      "title": "Personal dashboard and source census",
      "kind": "documented_parent_and_extraction",
      "narrative": "The dashboard preserves its first interface and census slice. Provenance Inventory exposes the same source-census laws as a separate utility with an explicit output directory.",
      "caveat": "A working census does not establish the dashboard proposal for recommendations or semantic indexing.",
      "members": [
        "provenance-inventory",
        "personal-intelligence-dashboard"
      ]
    },
    {
      "id": "usage-adapters",
      "title": "Two usage-display adapters",
      "kind": "documented_packaging_relationship",
      "narrative": "Codex and Ollama display adapters share a visitor purpose and repository while retaining their distinct APIs and screen assumptions.",
      "caveat": "Two sibling source scripts were packaged together. Neither is documented as derived from the other.",
      "members": [
        "usage-capture"
      ]
    }
  ],
  "edition": "September 2026",
  "redirects": {
    "mortal-kombat": "rubric-rumble"
  }
}
