{
  "apiVersion": "0.1.0",
  "specVersion": "0.5.0",
  "variables": [
    {
      "id": "value-capture",
      "name": "Value Capture Protocol",
      "path": "~ValueCaptureProtocol",
      "level": "L1",
      "kind": "protocol",
      "protocolId": "value-capture",
      "description": "Captures time, activity, proof, attribution, and integrity for valuable human activity.",
      "version": "0.4.0",
      "status": "locked"
    },
    {
      "id": "time-slice",
      "name": "Time Slice",
      "path": "~~TimeSlice",
      "level": "L2",
      "kind": "node",
      "protocolId": "value-capture",
      "protocolPath": "~ValueCaptureProtocol",
      "description": "Time boundary for a captured activity.",
      "privacy": "audit"
    },
    {
      "id": "start-time",
      "name": "Start Time",
      "path": "~~~StartTime",
      "level": "L3",
      "type": "datetime",
      "required": true,
      "privacy": "audit",
      "sourceProtocol": "value-capture",
      "description": "Activity start timestamp.",
      "kind": "facet",
      "protocolId": "value-capture",
      "protocolPath": "~ValueCaptureProtocol",
      "nodeId": "time-slice",
      "nodePath": "~~TimeSlice"
    },
    {
      "id": "end-time",
      "name": "End Time",
      "path": "~~~EndTime",
      "level": "L3",
      "type": "datetime",
      "required": true,
      "privacy": "audit",
      "sourceProtocol": "value-capture",
      "description": "Activity end timestamp.",
      "kind": "facet",
      "protocolId": "value-capture",
      "protocolPath": "~ValueCaptureProtocol",
      "nodeId": "time-slice",
      "nodePath": "~~TimeSlice"
    },
    {
      "id": "duration",
      "name": "Duration",
      "path": "~~~Duration",
      "level": "L3",
      "type": "duration",
      "required": true,
      "privacy": "audit",
      "sourceProtocol": "value-capture",
      "description": "Computed duration of the activity.",
      "kind": "facet",
      "protocolId": "value-capture",
      "protocolPath": "~ValueCaptureProtocol",
      "nodeId": "time-slice",
      "nodePath": "~~TimeSlice"
    },
    {
      "id": "activity",
      "name": "Activity",
      "path": "~~Activity",
      "level": "L2",
      "kind": "node",
      "protocolId": "value-capture",
      "protocolPath": "~ValueCaptureProtocol",
      "description": "Work, learning, earning, or organization-building activity.",
      "privacy": "audit"
    },
    {
      "id": "activity-label",
      "name": "Activity Label",
      "path": "~~~ActivityLabel",
      "level": "L3",
      "type": "string",
      "required": true,
      "privacy": "audit",
      "sourceProtocol": "value-capture",
      "description": "Human-readable activity label.",
      "kind": "facet",
      "protocolId": "value-capture",
      "protocolPath": "~ValueCaptureProtocol",
      "nodeId": "activity",
      "nodePath": "~~Activity"
    },
    {
      "id": "task-type",
      "name": "Task Type",
      "path": "~~~TaskType",
      "level": "L3",
      "type": "enum",
      "required": true,
      "privacy": "audit",
      "sourceProtocol": "value-capture",
      "description": "Classification used to route work.",
      "kind": "facet",
      "protocolId": "value-capture",
      "protocolPath": "~ValueCaptureProtocol",
      "nodeId": "activity",
      "nodePath": "~~Activity"
    },
    {
      "id": "wellbecoming-node-tag",
      "name": "Wellbecoming Node Tag",
      "path": "~~~WellbecomingNodeTag",
      "level": "L3",
      "type": "enum",
      "required": true,
      "privacy": "audit",
      "sourceProtocol": "value-capture",
      "description": "Required Wellbecoming node route for the time slice: Physiology, Emotion, Feeling, Thought, Habit, or Performance.",
      "kind": "facet",
      "protocolId": "value-capture",
      "protocolPath": "~ValueCaptureProtocol",
      "nodeId": "activity",
      "nodePath": "~~Activity"
    },
    {
      "id": "route-allocation",
      "name": "Route Allocation",
      "path": "~~~RouteAllocation",
      "level": "L3",
      "type": "object",
      "required": false,
      "privacy": "audit",
      "sourceProtocol": "value-capture",
      "description": "Allocation map for one time slice across downstream interpretations without double-counting duration.",
      "kind": "facet",
      "protocolId": "value-capture",
      "protocolPath": "~ValueCaptureProtocol",
      "nodeId": "activity",
      "nodePath": "~~Activity"
    },
    {
      "id": "intent",
      "name": "Intent",
      "path": "~~~Intent",
      "level": "L3",
      "type": "string",
      "required": false,
      "privacy": "audit",
      "sourceProtocol": "value-capture",
      "description": "Declared intention for the activity.",
      "kind": "facet",
      "protocolId": "value-capture",
      "protocolPath": "~ValueCaptureProtocol",
      "nodeId": "activity",
      "nodePath": "~~Activity"
    },
    {
      "id": "proof",
      "name": "Proof",
      "path": "~~Proof",
      "level": "L2",
      "kind": "node",
      "protocolId": "value-capture",
      "protocolPath": "~ValueCaptureProtocol",
      "description": "Evidence that the captured activity occurred.",
      "privacy": "audit"
    },
    {
      "id": "proof-of-activity",
      "name": "Proof Of Activity",
      "path": "~~~ProofOfActivity",
      "level": "L3",
      "type": "string",
      "required": true,
      "privacy": "audit",
      "sourceProtocol": "value-capture",
      "description": "Primary proof artifact or reference.",
      "kind": "facet",
      "protocolId": "value-capture",
      "protocolPath": "~ValueCaptureProtocol",
      "nodeId": "proof",
      "nodePath": "~~Proof"
    },
    {
      "id": "evidence-link",
      "name": "Evidence Link",
      "path": "~~~EvidenceLink",
      "level": "L3",
      "type": "uri",
      "required": false,
      "privacy": "audit",
      "sourceProtocol": "value-capture",
      "description": "Link to supporting evidence.",
      "kind": "facet",
      "protocolId": "value-capture",
      "protocolPath": "~ValueCaptureProtocol",
      "nodeId": "proof",
      "nodePath": "~~Proof"
    },
    {
      "id": "artifact-type",
      "name": "Artifact Type",
      "path": "~~~ArtifactType",
      "level": "L3",
      "type": "string",
      "required": false,
      "privacy": "audit",
      "sourceProtocol": "value-capture",
      "description": "Evidence artifact type.",
      "kind": "facet",
      "protocolId": "value-capture",
      "protocolPath": "~ValueCaptureProtocol",
      "nodeId": "proof",
      "nodePath": "~~Proof"
    },
    {
      "id": "attribution",
      "name": "Attribution",
      "path": "~~Attribution",
      "level": "L2",
      "kind": "node",
      "protocolId": "value-capture",
      "protocolPath": "~ValueCaptureProtocol",
      "description": "Community, project, and contributor context.",
      "privacy": "audit"
    },
    {
      "id": "actor-identity-ref",
      "name": "Actor Identity Ref",
      "path": "~~~ActorIdentityRef",
      "level": "L3",
      "type": "uri",
      "required": true,
      "privacy": "audit",
      "sourceProtocol": "value-capture",
      "description": "Persistent identity reference for the human",
      "agent": null,
      "team": null,
      "or organization responsible for the captured activity.": null,
      "kind": "facet",
      "protocolId": "value-capture",
      "protocolPath": "~ValueCaptureProtocol",
      "nodeId": "attribution",
      "nodePath": "~~Attribution"
    },
    {
      "id": "beneficiary-ref",
      "name": "Beneficiary Ref",
      "path": "~~~BeneficiaryRef",
      "level": "L3",
      "type": "uri",
      "required": false,
      "privacy": "audit",
      "sourceProtocol": "value-capture",
      "description": "Persistent reference to the person",
      "community": null,
      "client": null,
      "organization": null,
      "or project that benefits from the captured activity.": null,
      "kind": "facet",
      "protocolId": "value-capture",
      "protocolPath": "~ValueCaptureProtocol",
      "nodeId": "attribution",
      "nodePath": "~~Attribution"
    },
    {
      "id": "community",
      "name": "Community",
      "path": "~~~Community",
      "level": "L3",
      "type": "string",
      "required": false,
      "privacy": "audit",
      "sourceProtocol": "value-capture",
      "description": "Community context for the activity.",
      "kind": "facet",
      "protocolId": "value-capture",
      "protocolPath": "~ValueCaptureProtocol",
      "nodeId": "attribution",
      "nodePath": "~~Attribution"
    },
    {
      "id": "project",
      "name": "Project",
      "path": "~~~Project",
      "level": "L3",
      "type": "string",
      "required": false,
      "privacy": "audit",
      "sourceProtocol": "value-capture",
      "description": "Project context for the activity.",
      "kind": "facet",
      "protocolId": "value-capture",
      "protocolPath": "~ValueCaptureProtocol",
      "nodeId": "attribution",
      "nodePath": "~~Attribution"
    },
    {
      "id": "contributor-role",
      "name": "Contributor Role",
      "path": "~~~ContributorRole",
      "level": "L3",
      "type": "string",
      "required": false,
      "privacy": "audit",
      "sourceProtocol": "value-capture",
      "description": "Role performed by the contributor.",
      "kind": "facet",
      "protocolId": "value-capture",
      "protocolPath": "~ValueCaptureProtocol",
      "nodeId": "attribution",
      "nodePath": "~~Attribution"
    },
    {
      "id": "validation-community-ref",
      "name": "Validation Community Ref",
      "path": "~~~ValidationCommunityRef",
      "level": "L3",
      "type": "uri",
      "required": false,
      "privacy": "audit",
      "sourceProtocol": "value-capture",
      "description": "Community or institution authorized to validate this time slice",
      "whether or not SAOcommons activates.": null,
      "kind": "facet",
      "protocolId": "value-capture",
      "protocolPath": "~ValueCaptureProtocol",
      "nodeId": "attribution",
      "nodePath": "~~Attribution"
    },
    {
      "id": "integrity",
      "name": "Integrity",
      "path": "~~Integrity",
      "level": "L2",
      "kind": "node",
      "protocolId": "value-capture",
      "protocolPath": "~ValueCaptureProtocol",
      "description": "Quality, anomaly, and fraud-risk metadata for captured activity.",
      "privacy": "audit"
    },
    {
      "id": "proof-quality",
      "name": "Proof Quality",
      "path": "~~~ProofQuality",
      "level": "L3",
      "type": "number",
      "required": false,
      "privacy": "audit",
      "sourceProtocol": "value-capture",
      "description": "Quality score for proof.",
      "kind": "facet",
      "protocolId": "value-capture",
      "protocolPath": "~ValueCaptureProtocol",
      "nodeId": "integrity",
      "nodePath": "~~Integrity"
    },
    {
      "id": "anomaly-flag",
      "name": "Anomaly Flag",
      "path": "~~~AnomalyFlag",
      "level": "L3",
      "type": "boolean",
      "required": false,
      "privacy": "audit",
      "sourceProtocol": "value-capture",
      "description": "Flag for unusual or suspicious activity.",
      "kind": "facet",
      "protocolId": "value-capture",
      "protocolPath": "~ValueCaptureProtocol",
      "nodeId": "integrity",
      "nodePath": "~~Integrity"
    },
    {
      "id": "fraud-risk-signal",
      "name": "Fraud Risk Signal",
      "path": "~~~FraudRiskSignal",
      "level": "L3",
      "type": "string",
      "required": false,
      "privacy": "audit",
      "sourceProtocol": "value-capture",
      "description": "Fraud-risk indicator.",
      "kind": "facet",
      "protocolId": "value-capture",
      "protocolPath": "~ValueCaptureProtocol",
      "nodeId": "integrity",
      "nodePath": "~~Integrity"
    }
  ]
}
