Files
2026-07-06 23:52:53 +08:00

3.2 KiB

ADDED Requirements

Requirement: Skill text embedded on synthesis and re-synthesis

The system SHALL compute and persist an embedding vector for each locally-authored skill's name, description, and originating goal text whenever that skill is first synthesized or a new version is stored, associated with that skill's id and version.

Scenario: New skill gains an embedding

  • WHEN a flow-template skill is synthesized for the first time
  • THEN the system computes an embedding vector from its name, description, and originating goal, and stores it alongside the skill record

Scenario: New version gains its own embedding

  • WHEN a new version of an existing skill is created
  • THEN the system computes and stores an embedding for that version, independent of any embedding stored for prior versions

Requirement: Embedding failure degrades to non-retrievable-by-similarity, never blocks synthesis

The system SHALL NOT allow an embedding-provider failure (timeout, rate limit, disabled configuration, connection error) to prevent a skill from being synthesized or versioned; on such failure, the skill SHALL be stored without a similarity-searchable embedding.

Scenario: Embedding call fails but skill is still stored

  • WHEN the embedding provider call fails or times out during synthesis of an otherwise-successful skill
  • THEN the skill's flow-template record is still stored, and it is retrievable by exact name/id lookup but excluded from similarity-based retrieval results until a subsequent embedding attempt succeeds

Requirement: Ranked retrieval of candidate skills by goal similarity

The system SHALL provide a function that, given a new goal string and a requested result count, returns locally-authored skills that have a stored embedding, ranked by descending semantic similarity between the goal and each skill's stored embedding.

Scenario: Similar goal returns matching skill highest-ranked

  • WHEN a new goal is semantically similar to a previously-learned skill's originating goal
  • THEN that skill appears in the ranked candidate results, ordered ahead of less-similar skills

Scenario: Requested count limits results

  • WHEN a caller requests the top k candidate skills for a goal
  • THEN the system returns at most k ranked results, even if more embedded skills exist

Scenario: No embedded skills yields an empty result

  • WHEN no locally-authored skill currently has a stored embedding
  • THEN the retrieval function returns an empty ranked list rather than raising an error

Requirement: Retrieval scoped to locally-authored skills unless explicitly extended

The system SHALL restrict ranked candidate retrieval to skills stored by this capability's own local-synthesis store by default, and SHALL treat inclusion of externally-synced skills as a separate, explicit extension rather than an implicit default.

Scenario: Default retrieval excludes synced-only skills without embeddings

  • WHEN the skill catalog contains externally-synced skills that have never been embedded by this capability
  • THEN ranked candidate retrieval returns only locally-authored skills with stored embeddings, without erroring on the presence of unembedded synced skills