feat(skills): reference contracts and invocation policies for airbase, auth, services and core skills
This commit is contained in:
@@ -2,4 +2,4 @@ interface:
|
|||||||
display_name: "Управление AirBase"
|
display_name: "Управление AirBase"
|
||||||
short_description: "Изменение схемы, записей и доступа AirBase"
|
short_description: "Изменение схемы, записей и доступа AirBase"
|
||||||
policy:
|
policy:
|
||||||
allow_implicit_invocation: true
|
allow_implicit_invocation: false
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
# AirBase mutation contract
|
||||||
|
|
||||||
|
- Resolve the user's selected project and exact Base before any mutation. Use the returned project and Base identifiers.
|
||||||
|
- Read the target table schema and current records first. Use field IDs, link targets and allowed values returned by SHD.
|
||||||
|
- Validate record values before create or update. Preview bulk create/upsert with `dry_run=true` and resolve every conflict before writing.
|
||||||
|
- Bulk cell updates have no dry-run. Review every record/field/value tuple before calling the mutation tool.
|
||||||
|
- Read the action schema and field usages before schema changes. Require explicit intent and confirmation for destructive changes, public access changes and external-table detachment.
|
||||||
|
- Keep AirBase project data separate from global System Base data.
|
||||||
@@ -2,4 +2,4 @@ interface:
|
|||||||
display_name: SHD AirBase queries
|
display_name: SHD AirBase queries
|
||||||
short_description: Чтение записей и связей проекта
|
short_description: Чтение записей и связей проекта
|
||||||
policy:
|
policy:
|
||||||
allow_implicit_invocation: true
|
allow_implicit_invocation: false
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
# AirBase query contract
|
||||||
|
|
||||||
|
- Search the resolved Base by concrete terms, then follow populated record links by their returned IDs.
|
||||||
|
- Relationship traversal is limited to four hops. Report `partial`, `truncated`, missing/failed reverse scans and depth-limit flags as limits on the result.
|
||||||
|
- A missing reverse scan or incomplete traversal is not proof that no matching relationship exists.
|
||||||
|
- Use live table and field IDs from returned schemas. Do not infer relationships from names, groups or expected wiring conventions.
|
||||||
|
- Return the shortest supported evidence chain and identify its first missing link.
|
||||||
@@ -1,3 +1,5 @@
|
|||||||
interface:
|
interface:
|
||||||
display_name: SHD authenticated profile
|
display_name: SHD authenticated profile
|
||||||
short_description: Inspect and update the authenticated profile
|
short_description: Inspect and update the authenticated profile
|
||||||
|
policy:
|
||||||
|
allow_implicit_invocation: false
|
||||||
|
|||||||
@@ -0,0 +1,7 @@
|
|||||||
|
# Authenticated profile contract
|
||||||
|
|
||||||
|
- Read the current-user resource before changing profile data and use the server's current concurrency values.
|
||||||
|
- Change only fields explicitly requested by the user and accepted by the profile tool schema.
|
||||||
|
- Treat email, password, sessions, recovery information, access flags, tokens and OIDC subjects as sensitive or out of scope.
|
||||||
|
- Unlink OIDC only on an explicit request and after the server confirms another sign-in method remains available.
|
||||||
|
- Preserve idempotency requirements and report the persisted server readback without exposing secrets.
|
||||||
@@ -17,6 +17,8 @@ readback. Do not invent fields, statuses, identifiers, routes or capabilities.
|
|||||||
- AirBase project-data questions and relationship lookups: use AirBase tools
|
- AirBase project-data questions and relationship lookups: use AirBase tools
|
||||||
and `shd-airbase-query`. For duplicates, broken links or a broader
|
and `shd-airbase-query`. For duplicates, broken links or a broader
|
||||||
data-quality audit, use `shd-airbase-audit`.
|
data-quality audit, use `shd-airbase-audit`.
|
||||||
|
- AirBase schema, record, cell, field access, external table, public table
|
||||||
|
access or import changes: use `shd-airbase-manage`.
|
||||||
- Tasks, task projects, task status or task dates: use Tasks tools and the
|
- Tasks, task projects, task status or task dates: use Tasks tools and the
|
||||||
`shd-task-workflow` workflow.
|
`shd-task-workflow` workflow.
|
||||||
- Project files and paths: use Files tools and the `shd-project-files` workflow.
|
- Project files and paths: use Files tools and the `shd-project-files` workflow.
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
interface:
|
interface:
|
||||||
display_name: SHD services catalog
|
display_name: SHD services catalog
|
||||||
short_description: Inspect and manage the SHD service catalog
|
short_description: Inspect and manage the SHD service catalog
|
||||||
|
policy:
|
||||||
|
allow_implicit_invocation: false
|
||||||
|
|||||||
@@ -0,0 +1,7 @@
|
|||||||
|
# Service lifecycle contract
|
||||||
|
|
||||||
|
- Resolve the organization, service, version, site and publication from server results before acting.
|
||||||
|
- Read relevant service versions, usage and publication state before changing a lifecycle state.
|
||||||
|
- Keep draft, pending approval, published, failed, revoked, archived and restored states distinct. A version status alone does not prove publication succeeded.
|
||||||
|
- Editing a draft does not authorize publication. Publish, approve, archive, restore or revoke only the transition explicitly requested.
|
||||||
|
- Use fresh idempotency keys for publication/retry operations and verify the persisted publication result. Do not expose private credentials.
|
||||||
@@ -1,3 +1,5 @@
|
|||||||
interface:
|
interface:
|
||||||
display_name: SHD short links
|
display_name: SHD short links
|
||||||
short_description: Manage SHD short links and aliases
|
short_description: Manage SHD short links and aliases
|
||||||
|
policy:
|
||||||
|
allow_implicit_invocation: false
|
||||||
|
|||||||
@@ -0,0 +1,7 @@
|
|||||||
|
# Short-link safety contract
|
||||||
|
|
||||||
|
- Resolve the exact link, owner, project, alias and status from current server data before updating it.
|
||||||
|
- Treat target URLs, public aliases, access flags and bearer tokens as sensitive. Never return bearer tokens or private redirect data.
|
||||||
|
- Change only requested fields and preserve the server's expected-version and idempotency contract.
|
||||||
|
- Rotation or revocation requires an explicit request, `confirm=true`, current concurrency data and a fresh idempotency key.
|
||||||
|
- Report the link ID, alias, affected fields, resulting status and server readback.
|
||||||
@@ -1,3 +1,5 @@
|
|||||||
interface:
|
interface:
|
||||||
display_name: SHD System Base
|
display_name: SHD System Base
|
||||||
short_description: Inspect allowlisted global SHD tables
|
short_description: Inspect allowlisted global SHD tables
|
||||||
|
policy:
|
||||||
|
allow_implicit_invocation: false
|
||||||
|
|||||||
@@ -0,0 +1,7 @@
|
|||||||
|
# System Base contract
|
||||||
|
|
||||||
|
- System Base is global and uses an allowlisted table set. Resolve table, record and field IDs from the server.
|
||||||
|
- Read the schema and current record/cell before an update. Preserve the current expected value and `record_version`.
|
||||||
|
- Update only the explicitly requested cell and use a fresh idempotency key.
|
||||||
|
- Deletion requires an explicit request, `confirm=true`, the current expected version and persisted readback.
|
||||||
|
- Keep System Base separate from project AirBase data; do not invent table names or broaden filters.
|
||||||
Reference in New Issue
Block a user