SKILL.md v9 compliance
Supplier Resolve Identity
Build identity.json from resource.json via the Ploutonion organization-identity agent.
No reviews yet 0 installs
suppliersidentitya2aploutonionresolve
Versions
- v9 # Changelog ## v1.4 - Read `organizations.resolve` results properly. The agent answers `{candidates: [{..., identity?}]}`, which the old unwrapping did not recognise, so every resolve result was dropped and only the `identify` fallback could write `identity.json`. The first candidate carrying a non-empty identity now wins. - Treat an identity wire body whose `legal` and `firmographic` are both null (and no `legals`) as `no_match` rather than writing an empty `identity.json`. - Fall back to `organizations.identify` when `resource.json` carries a website as well as when it carries a country code: Ploutonion's identify accepts a `websiteUrl` without a `jurisdictionCode`. No jurisdiction is ever guessed. - Pass `timeout_sec=240` on both calls. Resolve runs up to ~180s upstream, exactly the broker's default A2A timeout; identify up to ~120s. - Stamp `timestamp` when the wire body's is null, not only when it is absent. - The broker's Talos organisation helpers are removed; `qb.a2a_call_skill` is the only route. ## v1.3 - Deprecate Talos for identity. Resolution now goes to the Ploutonion `organization-identity` A2A agent: `organizations.resolve` first, and `organizations.identify` only when `resource.json` carried a country code, since `identify` mandates a `jurisdictionCode` while `resolve` does not. Suppliers with no country code therefore keep resolving, and no jurisdiction is ever guessed — resolving against the wrong one returns a different real company. - Call the agent through `qb.a2a_call_skill`. Ploutonion is not phrase-routed — it needs a `data` part naming the `skillId` — but that envelope belongs in the broker, not copied into every skill bundle, so the broker SDK owns it and this skill carries no A2A plumbing. - The consuming blueprints must list `organization-identity` in `referencedA2aAgents`; that entry is what grants the workspace access to the agent. ## v1.2 - Report each shard item to the agent-control-plane via `qb.batch_item_done` instead of writing a `shard-<i>.json` file ledger. ## v1.1 - Add shard mode: when `RUN_ID` is set, `lib/resolve_identity.py` resolves only its `ITEM_IDS` slice and writes a contract-conformant `shard-<i>.json` under `/workspace/local/batch-runs/<RUN_ID>/`, so the skill can run as a `shardSkillRef` for the generic batch fan-out (parallel + retried) instead of the serial foreground loop. Status map: `resolved→done`, `error→failed`, `already/skip/no_match→skipped`. ## v1 - Initial release: resolve missing identity.json from resource.json via Talos resolve/identify. 10/13/2026
- v8 # Changelog ## v1.3 - Deprecate Talos for identity. Resolution now goes to the Ploutonion `organization-identity` A2A agent: `organizations.resolve` first, and `organizations.identify` only when `resource.json` carried a country code, since `identify` mandates a `jurisdictionCode` while `resolve` does not. Suppliers with no country code therefore keep resolving, and no jurisdiction is ever guessed — resolving against the wrong one returns a different real company. - Call the agent through `qb.a2a_call_skill`. Ploutonion is not phrase-routed — it needs a `data` part naming the `skillId` — but that envelope belongs in the broker, not copied into every skill bundle, so the broker SDK owns it and this skill carries no A2A plumbing. - The consuming blueprints must list `organization-identity` in `referencedA2aAgents`; that entry is what grants the workspace access to the agent. ## v1.2 - Report each shard item to the agent-control-plane via `qb.batch_item_done` instead of writing a `shard-<i>.json` file ledger. ## v1.1 - Add shard mode: when `RUN_ID` is set, `lib/resolve_identity.py` resolves only its `ITEM_IDS` slice and writes a contract-conformant `shard-<i>.json` under `/workspace/local/batch-runs/<RUN_ID>/`, so the skill can run as a `shardSkillRef` for the generic batch fan-out (parallel + retried) instead of the serial foreground loop. Status map: `resolved→done`, `error→failed`, `already/skip/no_match→skipped`. ## v1 - Initial release: resolve missing identity.json from resource.json via Talos resolve/identify. 9/14/2026
- v7 # Changelog ## v1.3 - Deprecate Talos for identity. Resolution now goes to the Ploutonion `organization-identity` A2A agent: `organizations.resolve` first, and `organizations.identify` only when `resource.json` carried a country code, since `identify` mandates a `jurisdictionCode` while `resolve` does not. Suppliers with no country code therefore keep resolving, and no jurisdiction is ever guessed — resolving against the wrong one returns a different real company. - Call the agent through `qb.a2a_call_skill`. Ploutonion is not phrase-routed — it needs a `data` part naming the `skillId` — but that envelope belongs in the broker, not copied into every skill bundle, so the broker SDK owns it and this skill carries no A2A plumbing. - The consuming blueprints must list `organization-identity` in `referencedA2aAgents`; that entry is what grants the workspace access to the agent. ## v1.2 - Report each shard item to the agent-control-plane via `qb.batch_item_done` instead of writing a `shard-<i>.json` file ledger. ## v1.1 - Add shard mode: when `RUN_ID` is set, `lib/resolve_identity.py` resolves only its `ITEM_IDS` slice and writes a contract-conformant `shard-<i>.json` under `/workspace/local/batch-runs/<RUN_ID>/`, so the skill can run as a `shardSkillRef` for the generic batch fan-out (parallel + retried) instead of the serial foreground loop. Status map: `resolved→done`, `error→failed`, `already/skip/no_match→skipped`. ## v1 - Initial release: resolve missing identity.json from resource.json via Talos resolve/identify. 8/25/2026
- v6 # Changelog ## v1.2 - Report each shard item to the agent-control-plane via `qb.batch_item_done` instead of writing a `shard-<i>.json` file ledger. ## v1.1 - Add shard mode: when `RUN_ID` is set, `lib/resolve_identity.py` resolves only its `ITEM_IDS` slice and writes a contract-conformant `shard-<i>.json` under `/workspace/local/batch-runs/<RUN_ID>/`, so the skill can run as a `shardSkillRef` for the generic batch fan-out (parallel + retried) instead of the serial foreground loop. Status map: `resolved→done`, `error→failed`, `already/skip/no_match→skipped`. ## v1 - Initial release: resolve missing identity.json from resource.json via Talos resolve/identify. 7/30/2026
- v5 # Changelog ## v1.1 - Add shard mode: when `RUN_ID` is set, `lib/resolve_identity.py` resolves only its `ITEM_IDS` slice and writes a contract-conformant `shard-<i>.json` under `/workspace/local/batch-runs/<RUN_ID>/`, so the skill can run as a `shardSkillRef` for the generic batch fan-out (parallel + retried) instead of the serial foreground loop. Status map: `resolved→done`, `error→failed`, `already/skip/no_match→skipped`. ## v1 - Initial release: resolve missing identity.json from resource.json via Talos resolve/identify. 7/22/2026
- v4 # Changelog ## v1 - Initial release: resolve missing identity.json from resource.json via Talos resolve/identify. 7/16/2026
- v3 # Changelog ## v1 - Initial release: resolve missing identity.json from resource.json via Talos resolve/identify. 7/16/2026
- v1 # Changelog ## v1 - Initial release: resolve missing identity.json from resource.json via Talos resolve/identify. 7/15/2026