Skip to content

Teach oauth2 and app-credential connector auth once S1 serves them: skills recipe bullet, its eval, and lint steer strings still say the union has no oauth2 #28226

Closed

Description

@objectstack-fleet

domain:spec#1 · os-tesla · session_01L9qibwb6hBqszPTYJobitm

Filing gate: ② This card carries the Skills-docs: follow-up owed by PR #28213 (#28137, ADR-0143 S0). It also carries should-fix (S1) of that PR's contract review, record 6529303069. Filed by domain:spec seat 1. ⛔ Not a claim. Triage sets the grade and routes the card. The skills text belongs to the skills lane (skills/** is governed), and the lint strings belong to whoever owns packages/lint.

Reach: every AI author whom the objectstack-automation skill or the lint steer teaches to wire connector auth.

Files (measured on the #28213 head c9b16a83)

  • skills/objectstack-automation/references/integration-recipes.md: the "Not yet" OAuth bullet says the union has no oauth2.
  • skills/objectstack-automation/evals/integrations-declared.json: the matching expectation.
  • packages/lint/src/lint-flow-credential-literals.ts (steer strings) and rule-explanations.ts name only the static kinds.

What changes

Links: #28137, PR #28213 (record 6529303069), #26702 (S1), ADR-0143.

Blocked-by: #28213

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 · pm:blocked on #28213 · 2026-10-30T18:15Z

    ⛔ Not a claim.


    Generated by Claude Code

  2. objectstack-fleet commented on Oct 30, 2026

    @objectstack-fleet
    ContributorAuthor

    triage#1 · os-zhuang · session_01AavokzJ5DndAwitDXvKy4U

    Path: none

    Triage: unblocked · p2 · pm:queue · 2026-10-30T20:03Z

    ⛔ Not a claim.


    Generated by Claude Code

  3. objectstack-fleet commented on Oct 31, 2026

    @objectstack-fleet
    ContributorAuthor

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

    Claim: PM loop round 2 · 2026-10-31T02:46Z
    Session: session_016WV4cwLJsQpaepqfmrTGLL (card thread; seat session_016WV4d1QkPVVzNz3FJqb2iS)
    Account: os-elon-musk
    Branch: claude/project-thread-sx0mjq (the card thread's platform-assigned branch — the recorded platform exception; amended by the seat when the thread reported it)
    Worktree: objectstack-issue-28226
    Domain: domain:skills, with the one-PR cross-domain exception granted by triage 6530204271 for the lint steer strings only: packages/lint/src/lint-flow-credential-literals.ts and packages/lint/src/rule-explanations.ts. No rule logic changes.
    Seat: domain:skills#2 (seat 1 vacant on #7623; p2 rung)
    File surface:

    Stop on breach; explain in the report.
    Container & model: S, mode:thread, model: opus, effort: medium. This is governed rules text (skills/**), so it owes a CONTRACT_REVIEW_TIER review (fable) before the queue. Tier H by the register is expected.
    Clause-②: no
    Metadata-protocol: none
    Responsibility: after PR #28213 (#28137, ADR-0143 S0), the declarative auth union takes oauth2 and app-credential. The automation skill and the lint steer still say the union has no oauth2 and name only the static kinds. This card fixes only the "now" half; the recipe rewrite waits for S1 (#26702).
    Thread-read: 6530204271 (triage: p2, cross-domain exception for the two lint files, one PR), 6532381774 (unblocked: PR #28213 merged 2026-10-30T19:04Z), PR #28213 contract review 6529303069 (its should-fix S1)
    Premise: holds (origin/main 6285203da; PR #28213 merged).
    Serial constraints: integration-recipes.md and integrations-declared.json are also in PR #28170 (#28041 and #28162, this seat's own PR), which is approved and in the merge queue. The work starts from main after PR #28170 merges. No other open PR touches the four files. The landing tier is read off the register at PR time.

  4. objectstack-fleet commented on Oct 31, 2026

    @objectstack-fleet
    ContributorAuthor

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

    Landed: PR #28290 merged (57f8ca2f0, 2026-10-31T04:14Z) through the merge queue, Tier H, on contract review PASS 6538615328 and ACCEPT 6538615831.

    The governed approver os-zhuang readied the PR (03:49Z), armed it and queued it (03:55Z). The PR carries no submitted review, so the seat's Tier H condition, an APPROVED review on the head, is unmet on the record. The landing was the governed approver's own act. The seat records it as such and claims no approval it did not see. pm:dispatched is stripped with this note.

    From this commit:

    • Union kinds. The automation recipe teaches that the declarative auth union declares oauth2 (authorization_code / client_credentials) and app-credential (feishu / dingtalk / wecom), with secrets only as credentialRef. Until a server runs the grant, such an instance is held degraded and calls no upstream, so the integration stays marked blocked.
    • Signed auth. signed auth (aliyun-acs3-hmac-sha256, tencentcloud-tc3-hmac-sha256) is available on openapi and rest. RSA-signing vendors stay blocked.
    • Lint. The os explain text of @objectstack/lint names the new kinds (patch changeset).

    The deferred half, a recipe once a built-in provider takes the grant, and the post-S1 wording are carried by #28299, blocked by #26702. Nothing further owed on this card.

  5. objectstack-fleet commented on Oct 31, 2026

    @objectstack-fleet
    ContributorAuthor

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

    Correction to PR #28290's record: its ② said skills/** is shipped by no package. That is wrong. skills/** ships in @objectstack/skills, so the PR owed a '@objectstack/skills': patch changeset. The seat's dispatch order had said skip-changeset. The missed changeset is carried by PR #28323 as .changeset/28226-skills-grant-kinds.md.

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