Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions examples/core-aggregate-team-action-health/contract.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,17 @@
"id": "core.aggregate-team-action-health",
"namespace": "core",
"name": "aggregate-team-action-health",
"version": "1.0.1",
"version": "1.1.0",
"lifecycle": "active",
"owner": {
"team": "loop",
"contact": "founders@loop.dev"
},
"summary": "Aggregates open action items of a team into a health summary for managers (on-track %, overdue, overloaded owners, top pressure items).",
"description": "Pure aggregation capability used by the Manager Visibility workflow. Returns a compact health snapshot that can be rendered in a dashboard or weekly digest.\n\nImplemented and smoke-tested matrix (use_cases):\n- team pulse aggregation with overloaded owners and top pressure items\n- invalid_input when reference_date is empty\n\nKnown limitations (intentional in 1.0.1):\n- Aggregation is memory-only; no persistence or notification side effects",
"description": "Pure aggregation capability used by the Manager Visibility workflow. Returns a compact health snapshot that can be rendered in a dashboard or weekly digest.\n\nImplemented and smoke-tested matrix (use_cases):\n- team pulse aggregation with overloaded owners and top pressure items\n- invalid_input when reference_date is empty\n\nKnown limitations (intentional in 1.1.0):\n- Aggregation is memory-only; no persistence or notification side effects",
"use_cases": [
{
"scenario": "As a manager, I want a quick pulse of my team's action items.",
"scenario": "As a manager, I want a quick pulse of my team's action items, so that I can spot overload without reading every thread.",
"input_example": {
"items": [
{
Expand Down Expand Up @@ -68,7 +68,7 @@
"persona_ref": "collaboration-product-owner"
},
{
"scenario": "As a workflow author, I want invalid_input when reference_date is empty so bad schedules fail closed.",
"scenario": "As a workflow author, I want invalid_input when reference_date is empty, so that bad schedules fail closed.",
"input_example": {
"items": [],
"reference_date": "",
Expand Down Expand Up @@ -202,15 +202,15 @@
"source": "ai-assisted",
"author": "loop-founders + traverse-capability-author",
"created_at": "2026-08-08T06:00:00Z",
"spec_ref": "core.aggregate-team-action-health@1.0.1",
"spec_ref": "core.aggregate-team-action-health@1.1.0",
"adr_refs": [
"persona-council-review-2026-08-08"
],
"exception_refs": []
},
"evidence": [
{
"evidence_id": "core-aggregate-team-action-health-1.0.1-contract-validation",
"evidence_id": "core-aggregate-team-action-health-1.1.0-contract-validation",
"type": "contract_validation",
"status": "passed"
}
Expand Down
8 changes: 4 additions & 4 deletions examples/core-aggregate-team-action-health/manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,17 @@
"kind": "capability_package",
"schema_version": "1.0.0",
"package_id": "core.aggregate-team-action-health-agent",
"version": "1.0.1",
"summary": "Capability package for core.aggregate-team-action-health@1.0.1.",
"version": "1.1.0",
"summary": "Capability package for core.aggregate-team-action-health@1.1.0.",
"capability_ref": {
"id": "core.aggregate-team-action-health",
"version": "1.0.1",
"version": "1.1.0",
"contract_path": "./contract.json"
},
"workflow_refs": [
{
"workflow_id": "core.aggregate-team-action-health",
"workflow_version": "1.0.1"
"workflow_version": "1.1.0"
}
],
"source": {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"request_id": "core-aggregate-team-action-health-01",
"intent": {
"capability_id": "core.aggregate-team-action-health",
"capability_version": "1.0.1"
"capability_version": "1.1.0"
},
"input": {
"items": [
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"request_id": "core-aggregate-team-action-health-02",
"intent": {
"capability_id": "core.aggregate-team-action-health",
"capability_version": "1.0.1"
"capability_version": "1.1.0"
},
"input": {
"items": [],
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"schema_version": "1.0.0",
"id": "core.aggregate-team-action-health",
"name": "aggregate-team-action-health",
"version": "1.0.1",
"version": "1.1.0",
"lifecycle": "active",
"owner": {
"team": "loop",
Expand Down Expand Up @@ -35,7 +35,7 @@
{
"node_id": "run",
"capability_id": "core.aggregate-team-action-health",
"capability_version": "1.0.1",
"capability_version": "1.1.0",
"input": {
"from_workflow_input": [
"items",
Expand Down
22 changes: 11 additions & 11 deletions examples/core-assign-ownership/contract.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,17 @@
"id": "core.assign-ownership",
"namespace": "core",
"name": "assign-ownership",
"version": "1.0.1",
"version": "1.1.0",
"lifecycle": "active",
"owner": {
"team": "loop",
"contact": "founders@loop.dev"
},
"summary": "Resolves and records clear ownership for an action item (single accountable person).",
"description": "Resolves a suggested owner against workspace members (id, email, name) and applies ownership_config.fallback when unresolved. Pure and deterministic.\n\nImplemented and smoke-tested matrix (use_cases):\n- name_match ok\n- email_match ok\n- null suggestion with fallback=creator ok\n- unknown suggestion with fallback=fail unresolved\n- inactive member with require_active_member inactive_member\n- invalid fallback value config_error\n- unknown suggestion with fallback=unassigned ok (owner_id null)\n\nKnown limitations (intentional in 1.0.1):\n- Does not mutate storage or notify members; callers persist the decision",
"description": "Resolves a suggested owner against workspace members (id, email, name) and applies ownership_config.fallback when unresolved. Pure and deterministic.\n\nImplemented and smoke-tested matrix (use_cases):\n- name_match \u2192 ok\n- email_match \u2192 ok\n- null suggestion with fallback=creator \u2192 ok\n- unknown suggestion with fallback=fail \u2192 unresolved\n- inactive member with require_active_member \u2192 inactive_member\n- invalid fallback value \u2192 config_error\n- unknown suggestion with fallback=unassigned \u2192 ok (owner_id null)\n\nKnown limitations (intentional in 1.1.0):\n- Does not mutate storage or notify members; callers persist the decision",
"use_cases": [
{
"scenario": "As the system, I want a name match to resolve to a canonical user id.",
"scenario": "As a system, I want a name match to resolve to a canonical user id, so that ownership is unambiguous downstream.",
"input_example": {
"suggested_owner": "Ada Lovelace",
"creator_id": "user-carol",
Expand Down Expand Up @@ -48,7 +48,7 @@
"persona_ref": "runtime-engineer"
},
{
"scenario": "As the system, I want an email suggestion to resolve by email.",
"scenario": "As a system, I want an email suggestion to resolve by email, so that directory matches stay deterministic.",
"input_example": {
"suggested_owner": "bob@loop.dev",
"creator_id": "user-carol",
Expand Down Expand Up @@ -82,7 +82,7 @@
"persona_ref": "runtime-engineer"
},
{
"scenario": "As the system, I want a null suggestion to fall back to the creator.",
"scenario": "As a system, I want a null suggestion to fall back to the creator, so that every item still has an owner path.",
"input_example": {
"suggested_owner": null,
"creator_id": "user-carol",
Expand Down Expand Up @@ -112,7 +112,7 @@
"persona_ref": "meeting-organizer"
},
{
"scenario": "As the system, I want an unknown suggestion to fail closed when fallback is fail.",
"scenario": "As a system, I want an unknown suggestion to fail closed when fallback is fail, so that unresolved owners never silently pass.",
"input_example": {
"suggested_owner": "Unknown Person",
"creator_id": "user-carol",
Expand Down Expand Up @@ -142,7 +142,7 @@
"persona_ref": "runtime-engineer"
},
{
"scenario": "As the system, I want an inactive member match rejected with inactive_member when require_active_member is true.",
"scenario": "As a system, I want an inactive member match rejected with inactive_member when require_active_member is true, so that inactive accounts cannot own work.",
"input_example": {
"suggested_owner": "user-ada",
"creator_id": "user-carol",
Expand Down Expand Up @@ -172,7 +172,7 @@
"persona_ref": "runtime-engineer"
},
{
"scenario": "As the system, I want an invalid fallback value rejected with config_error.",
"scenario": "As a system, I want an invalid fallback value rejected with config_error, so that misconfiguration is visible immediately.",
"input_example": {
"suggested_owner": "Ada Lovelace",
"creator_id": "user-carol",
Expand Down Expand Up @@ -206,7 +206,7 @@
"persona_ref": "runtime-engineer"
},
{
"scenario": "As the system, I want unknown suggestions to resolve as unassigned when fallback is unassigned.",
"scenario": "As a system, I want unknown suggestions to resolve as unassigned when fallback is unassigned, so that callers can prompt for an owner later.",
"input_example": {
"suggested_owner": "Unknown Person",
"creator_id": "user-carol",
Expand Down Expand Up @@ -378,15 +378,15 @@
"source": "ai-assisted",
"author": "loop-founders + traverse-capability-author",
"created_at": "2026-08-08T06:00:00Z",
"spec_ref": "core.assign-ownership@1.0.1",
"spec_ref": "core.assign-ownership@1.1.0",
"adr_refs": [
"persona-council-review-2026-08-08"
],
"exception_refs": []
},
"evidence": [
{
"evidence_id": "core-assign-ownership-1.0.1-contract-validation",
"evidence_id": "core-assign-ownership-1.1.0-contract-validation",
"type": "contract_validation",
"status": "passed"
}
Expand Down
8 changes: 4 additions & 4 deletions examples/core-assign-ownership/manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,17 @@
"kind": "capability_package",
"schema_version": "1.0.0",
"package_id": "core.assign-ownership-agent",
"version": "1.0.1",
"summary": "Capability package for core.assign-ownership@1.0.1.",
"version": "1.1.0",
"summary": "Capability package for core.assign-ownership@1.1.0.",
"capability_ref": {
"id": "core.assign-ownership",
"version": "1.0.1",
"version": "1.1.0",
"contract_path": "./contract.json"
},
"workflow_refs": [
{
"workflow_id": "core.assign-ownership",
"workflow_version": "1.0.1"
"workflow_version": "1.1.0"
}
],
"source": {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"request_id": "core-assign-ownership-01",
"intent": {
"capability_id": "core.assign-ownership",
"capability_version": "1.0.1"
"capability_version": "1.1.0"
},
"input": {
"suggested_owner": "Ada Lovelace",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"request_id": "core-assign-ownership-02",
"intent": {
"capability_id": "core.assign-ownership",
"capability_version": "1.0.1"
"capability_version": "1.1.0"
},
"input": {
"suggested_owner": "bob@loop.dev",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"request_id": "core-assign-ownership-03",
"intent": {
"capability_id": "core.assign-ownership",
"capability_version": "1.0.1"
"capability_version": "1.1.0"
},
"input": {
"suggested_owner": null,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"request_id": "core-assign-ownership-04",
"intent": {
"capability_id": "core.assign-ownership",
"capability_version": "1.0.1"
"capability_version": "1.1.0"
},
"input": {
"suggested_owner": "Unknown Person",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"request_id": "core-assign-ownership-05",
"intent": {
"capability_id": "core.assign-ownership",
"capability_version": "1.0.1"
"capability_version": "1.1.0"
},
"input": {
"suggested_owner": "user-ada",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"request_id": "core-assign-ownership-06",
"intent": {
"capability_id": "core.assign-ownership",
"capability_version": "1.0.1"
"capability_version": "1.1.0"
},
"input": {
"suggested_owner": "Ada Lovelace",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"request_id": "core-assign-ownership-07",
"intent": {
"capability_id": "core.assign-ownership",
"capability_version": "1.0.1"
"capability_version": "1.1.0"
},
"input": {
"suggested_owner": "Unknown Person",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"schema_version": "1.0.0",
"id": "core.assign-ownership",
"name": "assign-ownership",
"version": "1.0.1",
"version": "1.1.0",
"lifecycle": "active",
"owner": {
"team": "loop",
Expand Down Expand Up @@ -34,7 +34,7 @@
{
"node_id": "assign",
"capability_id": "core.assign-ownership",
"capability_version": "1.0.1",
"capability_version": "1.1.0",
"input": {
"from_workflow_input": [
"suggested_owner",
Expand Down
Loading
Loading