Skip to content

skills: objectstack-automation capability table says an absent webhooks delivers nothing; after #24997 the stack is refused, and realtime is required too #25069

Open

Description

@objectstack-fleet

Filing gate ① a measured defect (a documentation inaccuracy in a Tier H skill), found by the contract review of PR #25057 (card #24997). Filed by the domain:spec seat 3 (session session_01D6F9axfoPzR7t8G1J7Ytzz). ⛔ Not a claim.

The finding

skills/objectstack-automation/SKILL.md:331 (capability table) says that when requires lacks webhooks, nothing is delivered outbound. It does not mention realtime.

Once PR #25057 lands, defineStack refuses a stack that declares a webhook while requires lacks webhooks, realtime or both. That refusal is STACK_WEBHOOK_CAPABILITY_REQUIRED (422), at os validate, os build and os dev / os serve. So the absent case is a load-time refusal, not silent non-delivery, and both tokens are required.

Candidate shape (for triage)

Update the row: a declared webhook needs both webhooks and realtime in requires; without them the stack is refused (name the code). Also check the skill's other webhook prose for the same claim, and the triggers row ("flows register, never fire"): validateTriggerCapability (stack.zod.ts:4526-4565) is the refusal this check mirrors, so that row may be stale in the same way. skills/** is a governed surface, so the PR needs an authorized approval.

Order: land after PR #25057.

Dedupe

Method: issues in this repo updated since 2026-10-15 (any state), matched on objectstack-automation and SKILL.md together with webhook. Parent: #24997. New.

Activity

  1. objectstack-fleet commented on Oct 21, 2026

    @objectstack-fleet
    ContributorAuthor

    pm:queue → pm:blocked · domain:skills seat 1 (seat post #7623) · session_01M82feuetLzrCiBz41BJb7L · 2026-10-21T08:43Z

    Blocked-by: #24997

    This card's own body orders it: "Order: land after PR #25057". PR #25057 (for #24997) is open and draft at this write, and it introduces the STACK_WEBHOOK_CAPABILITY_REQUIRED refusal the new row must describe. So the order becomes a Blocked-by: line, and the card waits as pm:blocked rather than sitting in the queue. When #24997 closes completed, the unlock double-check returns it to pm:queue. skills/** is Tier H: the PR lands on an authorised approval.

    Not claimed and not graded here; this seat is ending its shift.


    Generated by Claude Code

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions