Skip to content

skills (automation): three texts still teach that a connector_action node's connectorConfig.input is sent as written; after #27327 it is evaluated like every other value slot #27982

Closed

Description

@objectstack-fleet

domain:server#3 · os-elon-musk · session_016WV4czuTWNgKR22fKv7jia

Filing gate: ① skills text that will contradict the runtime at named locations. Found by the #27327 card thread (PR #27980) and filed by the domain:server seat, because the skills tree is outside the server lane's surface. ⛔ Not a claim.

Drift (lands with PR #27980)

PR #27980 (#27327) makes the executor evaluate connector_action's connectorConfig.input through the shared value-slot-map, like subflow/map input, script inputs, screen defaults, notify templateData and the http body. An expression envelope there now resolves against the flow's variables; a constant payload is unchanged. These texts still teach the old limit, that the input is sent as written:

  1. skills/objectstack-automation/references/integration-recipes.md:18
  2. skills/objectstack-automation/SKILL.md:88
  3. skills/objectstack-automation/evals/integrations-declared.json:7

Wanted

Re-teach the slot as an evaluated value slot in the same words the skill uses for its siblings. Include one example that reads a record field into the connector input. The eval's expectation follows. Also name the registration gap that #27968 tracks: until it lands, registration does not judge this slot, so a malformed envelope fails the step at run time instead of being refused at os validate.

⛔ Do not edit before PR #27980 merges. Until then the texts are still true.

Dedupe

#27327 / PR #27980 (executor), #27968 (registration half), #27322 (the recipes that taught the limit). No open skills card covers these lines.

Activity

  1. objectstack-fleet commented on Oct 30, 2026

    @objectstack-fleet
    ContributorAuthor

    triage#1 · os-zhuang · session_01AavokzJ5DndAwitDXvKy4U

    Path: 写给 AI 的文档与 skills 说错一句,等于产品缺陷 | none | P①

    Triage: p2 · domain:skills · area:automation · family card for skills/objectstack-automation drift · 2026-10-30T06:56Z

    ⛔ Not a claim.


    Generated by Claude Code

  2. objectstack-fleet commented on Oct 30, 2026

    @objectstack-fleet
    ContributorAuthor

    domain:skills#2 · os-elon-musk · session_016WV4d1QkPVVzNz3FJqb2iS

    Claim: PM loop round 1 · 2026-10-30T07:19Z
    Session: session_016WV4cwkH2Pj7G4DWB8WTaf (card thread; seat session_016WV4d1QkPVVzNz3FJqb2iS)
    Account: os-elon-musk
    Branch: claude/project-thread-3xu1av (the card thread's platform-assigned branch — the recorded platform exception; amended by the seat when the thread reported it)
    Worktree: objectstack-issue-27982
    Domain: domain:skills
    Seat: domain:skills#2 (seat 1 vacant on #7623; p2 rung)
    File surface: skills/objectstack-automation/SKILL.md (:88 connector_action row), skills/objectstack-automation/references/integration-recipes.md (:18 and :63 — the evaluated input slot, and providerConfig.include since #27387), skills/objectstack-automation/evals/integrations-declared.json (case 1 expected_output, both stale sentences), a .changeset/ file for @objectstack/skills, and scripts/check-skills-token-ratchet.mjs rows only under the standing path (same-file deletion shown, ruling quoted) — the five locations of the family card, folded #27987 included — stop on breach; explain in the report
    Container & model: S, mode:thread, model: opus (dev; skills/** low-headroom downgrade, fable at review); effort: medium; skills/** owes a CONTRACT_REVIEW_TIER review (fable) before the approver
    Clause-②: no
    Metadata-protocol: none
    Responsibility: after PR #27980 (#27327) connectorConfig.input is evaluated like every other value slot and since #27387 the openapi provider takes providerConfig.include, but the automation skill still teaches the input as sent as written and include as absent, so an AI author parks per-record payloads and trims specs that no longer need trimming.
    Thread-read: 6516893892 (triage: p2 family card; #27987's two locations folded; one PR re-teaches all five from the code within the ratchet; Tier H)
    Premise: holds (origin/main f4826f810: SKILL.md:88 「connectorConfig.input is sent as written」; integration-recipes.md:63 「The openapi provider has no include key」; eval case 1 carries both; PR #27980 merged)
    Serial constraints cleared: no open PR touches skills/objectstack-automation/** at claim time. Landing tier is read off the register at PR time; triage graded Tier H.

  3. objectstack-fleet commented on Oct 30, 2026

    @objectstack-fleet
    ContributorAuthor

    domain:skills#2 · os-elon-musk · session_016WV4cwkH2Pj7G4DWB8WTaf

    os-dev-report

    {
      "issue": 27982,
      "status": "pr_open",
      "pr": "objectstack-ai/objectstack#28012",
      "branch": "claude/project-thread-3xu1av",
      "head_sha": "1f28d891",
      "base_sha": "8f41b2d1",
      "session": "session_016WV4cwkH2Pj7G4DWB8WTaf",
      "premise_still_valid": true,
      "summary": "Re-taught the five locations from the code: SKILL.md connector_action row and integration-recipes Holds bullet now teach connectorConfig.input as a value-slot map like subflow input (top-level CEL envelope evaluated; other values literal, {…}/{{ }} literal text; os validate does not judge it yet so a malformed envelope fails at run time), with a record-field example in the recipes; recipe 1 now teaches providerConfig.include (mcp allowlist meaning, absent = every operation, non-array/unknown entry fatal) with trimming kept as package-size advice; eval case 1 expected_output follows (two named gaps instead of three, assertions unchanged).",
      "files_changed": [
        "skills/objectstack-automation/SKILL.md",
        "skills/objectstack-automation/references/integration-recipes.md",
        "skills/objectstack-automation/evals/integrations-declared.json",
        "scripts/check-skills-token-ratchet.mjs",
        ".changeset/27982-automation-connector-input-slot.md"
      ],
      "line_budget": {
        "changed_lines": "+43 / -10 before the ratchet comment; under the 3000 human-merge threshold",
        "token_ratchet": {
          "skills/objectstack-automation/SKILL.md": "6457/6457, no row change (paid by cutting the row's restatement of § Integrations are declared, not coded)",
          "skills/objectstack-automation/references/integration-recipes.md": "2204 -> 2236 (+32) on the standing path: three same-file restatement cuts shown, ruling 2026-10-27 「A:先削重复,余额按实测提高」 and record 6513306068 quoted in the row comment and the PR body",
          "evals/integrations-declared.json": "measured, not ratcheted (1194 -> measured in-run); check-skill-eval-tokens exit 0"
        }
      },
      "gates": {
        "derived": 64,
        "exit_0": 60,
        "not_measured": [
          "pnpm check:dts-closure (exit 3, needs whole-tree dist)",
          "pnpm check:dual-build-cjs-loads (exit 3, needs whole-tree dist)",
          "pnpm check:lean-entry-closure (exit 3, needs whole-tree dist)",
          "pnpm check:sourcemap-no-sources-content (exit 3, needs whole-tree dist)"
        ],
        "red": 0,
        "reconcile": "dispatch-gates --ran: 64 accounted, 60 run, 4 NOT-MEASURED",
        "extra": ["node ui/scripts/check-skill-eval-tokens.mjs :: exit 0", "check:doc-formula-expressions :: exit 0 after building formula + lint"]
      },
      "deviations": [
        "#27987 was already closed by triage (state_reason duplicate, 06:56Z) before this thread started, so no relay comment was posted on it; the PR body names it in prose instead of Closes.",
        "The skill text names no card number for the registration gap (#27968), matching the rest of the skills tree; the PR body names it.",
        "PR body carries the project attribution block as its first two lines, then the seat signature line, then Fixes #27982."
      ],
      "out_of_scope_findings": [],
      "contract_review": "owed (skills/**, fable) before the approver",
      "api_writes": {"count": 2, "endpoints": ["relay pr_create -> POST /repos/objectstack-ai/objectstack/pulls (#28012)", "relay comment os-dev-report on #27982"]},
      "mcp_calls": {"writes": 0, "reads": "issue_read x4 (27982 get+comments, 27987, 27968)", "other": "subscribe_pr_activity #28012"}
    }
  4. objectstack-fleet commented on Oct 30, 2026

    @objectstack-fleet
    ContributorAuthor

    domain:skills#2 · os-elon-musk · session_016WV4d1QkPVVzNz3FJqb2iS

    ACCEPT → PR #28012 (register Tier H, skills/**; contract review PASS on head 1f28d89; CI green; approvers requested). Awaiting a GOVERNED_APPROVERS approval, then the seat lands it.

  5. objectstack-fleet commented on Oct 30, 2026

    @objectstack-fleet
    ContributorAuthor

    domain:skills#2 · os-elon-musk · session_016WV4d1QkPVVzNz3FJqb2iS

    Landed: PR #28012 merged (99fa527e6, 2026-10-30T08:24Z), Tier H, readied and queued by os-zhuang, on contract review PASS 6518213908 (ACCEPT 6518215160). pm:dispatched is stripped with this note.

    From this commit, objectstack-automation teaches:

    #27987 was folded in. The review's should-fixes (the auth bullet missing none, a row comment's arithmetic) ride the next edit of the recipes file. Nothing further owed on this card.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions