Skip to content

skills(objectstack-platform): the skill names the push key and capability but never teaches the push block's shape (transport, apns / fcm, credentialRef) #30092

Closed

Description

@objectstack-fleet

domain:skills#1 · huangyiirene · session_01J8VVAnMUWA9rufXzFaEh4J

Filing gate: ① a named-location teaching gap, owed as follow-up to already-landed work (PR #29968, card #29820). It surfaced while the #29969 card thread wrote that card's eval case: the case can only assert what the skill teaches, so it stays generic. ⛔ Not a claim. Suggested-grade: p3.

reach: a named real producer. PushServiceConfigSchema (packages/spec/src/system/push-config.zod.ts) is the stack's push key (packages/spec/src/stack.zod.ts ~L1136), and PushServicePlugin (@objectstack/service-push) is built from it.

What the skill says (at origin/main)

Wanted

Business reason: an agent asked to turn on push for an os serve deployment learns from the skill that push exists, but not how to fill it. It will guess the block, may inline an APNs/FCM secret, or may pick a relay that is not served yet.

Reader who acts: the skills lane. skills/** is Tier H, so it needs GOVERNED_APPROVERS before landing.

Serial: after PR #30071 (the same SKILL.md).

Dedupe: searched push skill objectstack-platform (660 hits; the first pages hold only #29969 and unrelated platform-skill cards). New.

Activity

  1. objectstack-fleet commented on Nov 4, 2026

    @objectstack-fleet
    ContributorAuthor

    triage#1 · os-zhuang · session_01AavokzJ5DndAwitDXvKy4U

    Path: none

    Triage: first-touch audit · p3 · domain:skills kept · pm:triage → pm:queue · 2026-11-04T13:56Z

    ⛔ Not a claim.

    • Read fresh. objectstack-platform names the push key and capability but never teaches the block's shape (transport, apns / fcm, credentialRef). A teaching gap, so p3, as suggested. The changeset rule applies: '@objectstack/skills': patch.

    Generated by Claude Code

  2. added
    documentationImprovements or additions to documentation
    pm:queueReady for the PM dispatch loop
    pm:dispatchedDispatched to a dev agent by /pm-dispatch
    and removed
    pm:queueReady for the PM dispatch loop
    on Nov 4, 2026
  3. objectstack-fleet commented on Nov 6, 2026

    @objectstack-fleet
    ContributorAuthor

    domain:skills#1 · os-elon-musk · session_016WV4d1mkgEris4MHHLjtnk

    Claim: PM loop round 1 · 2026-11-06T01:15Z
    Session: session_016WV4d1mkgEris4MHHLjtnk
    Account: os-elon-musk (the seat's linked user as GET /user answers it; the card's assignee)
    Branch: claude/project-thread-t2ftwd (the card thread's designated branch; dev session session_016WV4d1hJHYMCXtCDZwGBLV, amended by the seat)
    Worktree: objectstack-issue-30092
    Domain: domain:skills
    Seat: domain:skills#1
    File surface: skills/objectstack-platform/SKILL.md (a pointer line at most, paid by same-file deletion) and skills/objectstack-platform/references/operations.md or bootstrap.md (the push block passage); skills/objectstack-platform/evals/config-plugins-ops.json (#29969's case gains the taught shape); one root .changeset/ file. ⛔ references/plugin-development.md (PR #30726 holds it), ⛔ packages/**, ⛔ every ceiling (compress, do not raise) (stop on breach)
    Container & model: S, mode:thread, model: TIER_DEFAULT (dispatch-gates --tier: MANDATORY CONTRACT_REVIEW_TIER for skills/** clause ①; exit taken = the proactive low-headroom downgrade under the maintainer's standing posture of this project: develop on the default tier, the contract-review tier runs the final contract review; the compensating control is the seat's at-tier review before ACCEPT), effort: medium
    Clause-②: no
    Metadata-protocol: none
    Responsibility: n/a — not a defect card (a teaching-gap follow-up of landed PR #29968)
    Thread-read: 6632507548
    Premise: holds: SKILL.md L42 and L305 name push and nothing teaches the block, on origin/main da9b5f7d
    Serial constraints cleared: PR #30071 and PR #30704 (same SKILL.md and eval file) merged; PR #30726 holds references/plugin-development.md, which this card does not edit

    Tier H (skills/**): draft until a governed approver approves; the seat's at-tier contract review precedes ACCEPT.


    Generated by Claude Code

  4. objectstack-fleet commented on Nov 6, 2026

    @objectstack-fleet
    ContributorAuthor

    domain:skills#1 · os-elon-musk · session_016WV4d1hJHYMCXtCDZwGBLV
    os-dev-report

    {
     "issue": 30092,
     "status": "done",
     "branch": "claude/project-thread-t2ftwd",
     "pr": "https://github.com/objectstack-ai/objectstack/pull/30764",
     "head": "a5d42984",
     "session": "session_016WV4d1hJHYMCXtCDZwGBLV",
     "premise_still_valid": true,
     "summary": "skills/objectstack-platform/references/operations.md gains '## Mobile push': requires ['push'] reads the top-level push key (PushServiceConfigSchema); only transport 'direct' is served today, one block per vendor (apns: teamId, keyId, topic, environment, credentialRef; fcm: projectId, credentialRef), at least one; credentialRef names each secret and never holds it (inline privateKey / serviceAccount / PEM / JSON refused); the relay transport, also what {} or an absent key reads as, is refused at boot until its sender ships (#29920 open). SKILL.md's requires-table service row points push at the section; eval case 12 asserts transport 'direct' and credentialRef and refuses serviceAccount:. Facts read off origin/main 254f2ec1 (push-config.zod.ts, service-push capability-arg.ts / credential.ts).",
     "tests": "docs + eval fixture only; no code behaviour changed, no ablation. Eval JSON parses (python json.load).",
     "gates": "local on a5d42984: dispatch-gates --ran = 46 derived, 45 run (all exit 0), 1 NOT-MEASURED (check:dual-build-cjs-loads exit 3, PREREQUISITE NOT MET: whole-tree dist absent; left to CI); check:lean-entry-closure first exit 3 (objectql dist absent), rerun after building the objectql closure: exit 0; pnpm lint exit 0. CI check-runs: in_progress at report time.",
     "line_budget": {
      "skills/objectstack-platform/SKILL.md": {
       "lines_before": 413,
       "lines_after": 412,
       "tokens_before": 6010,
       "tokens_after": 6009,
       "ceiling": 6011
      },
      "skills/objectstack-platform/references/operations.md": {
       "lines_before": 199,
       "lines_after": 212,
       "tokens_before": 3119,
       "tokens_after": 3116,
       "ceiling": 3119
      },
      "all_SKILL_md_lines": {
       "before": 4523,
       "after": 4522
      },
      "bundle_tokens": {
       "before": 226670,
       "after": 226666
      },
      "ceiling_moved": false
     },
     "deviations": [
      "SKILL.md pointer placed inside the requires table's existing service row (no new line) rather than a separate pointer line; the Part-3 section list was not extended (would cost 4 tokens over headroom).",
      "Ratchet paid by deleting restatement: operations.md os validate row gate list, the 'Use os validate as the fast inner-loop' sentence, the os lint aside example list, two Common-ops-pitfalls rows restating Ports & networking (Port N in use; better-auth Invalid origin 403); SKILL.md auth-callback example list."
     ],
     "files_changed": [
      ".changeset/30092-platform-skill-push-block.md",
      "skills/objectstack-platform/SKILL.md",
      "skills/objectstack-platform/evals/config-plugins-ops.json",
      "skills/objectstack-platform/references/operations.md"
     ],
     "dogfood_battery": "n/a — no ! in the PR title and no (narrowing) arm",
     "mcp_calls": "0 — no MCP GitHub calls",
     "api_writes": "2 — relay pr_create (#30764), relay comment (this report); plus git push (not REST)",
     "open_questions": [],
     "security_findings": "none",
     "out_of_scope_findings": []
    }

    Generated by Claude Code

  5. objectstack-fleet commented on Nov 6, 2026

    @objectstack-fleet
    ContributorAuthor

    domain:skills#1 · os-elon-musk · session_016WV4d1mkgEris4MHHLjtnk

    ACCEPT → PR #30764 comment 6674714642 (head a5d42984), contract review PASS 6674550414. Tier H: awaiting a governed approver.

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

Metadata

Metadata

Assignees

Labels

documentationImprovements or additions to documentationdomain:skillsDomain lane — seat card indexed by label:pm:seatpriority:p3

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions