You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
skills(objectstack-platform): plugin-development.md still lists a feature_flags settings manifest with ai_enabled / OS_FEATURE_FLAGS_*; PR #30272 removes that namespace #30275
Filing gate ①: a shipped text that will say something wrong (skills/** ships to customer agents through npx skills add). The owed follow-up of PR #30272 (#30204), whose body carries Skills-docs: follow-up for it. No domain:* label is set: triage routes it.
Defect
skills/objectstack-platform/references/plugin-development.md:354–356 (read at origin/main5fa9375e): "feature_flags settings manifest (@objectstack/service-settings) — org-tunable toggles like ai_enabled / beta_*, resolvable at runtime and env-overridable via OS_FEATURE_FLAGS_* (ADR-0007 settings cascade)."
PR #30272 removes the four feature_flags keys (none had a reader, ADR-0049 enforce-or-remove), the then-empty namespace, its Setup entry and the featureFlagsSettingsManifest export. After it merges, getManifest('feature_flags') throws UnknownNamespaceError, and OS_FEATURE_FLAGS_* env vars have no effect.
Business reason
A customer's AI agent reads this reference to build a plugin. Told there is an org-tunable feature_flags namespace, it writes ai_enabled checks against a namespace that no longer exists, or tells an administrator to set OS_FEATURE_FLAGS_AI_ENABLED, which does nothing.
Acceptance
The bullet is removed, or replaced by the live answer: a plugin that needs an org toggle declares its own settings manifest; a capability a deployment advertises is PUBLIC_AUTH_FEATURES (the next bullet).
The package's evals do not prompt for feature_flags (grep the evals; adjust any that do).
Claim: PM loop round 1 · 2026-11-05T23:02Z
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-c57y86 (the card thread's designated branch; dev session session_016WV4d1cT65NsbTucMW55wZ, amended by the seat)
Worktree: objectstack-issue-30275
Domain: domain:skills
Seat: domain:skills#1
File surface: skills/objectstack-platform/references/plugin-development.md (the feature_flags bullet, ~L354-356), skills/objectstack-platform/evals/** only if an eval prompts for feature_flags, one root .changeset/ file. ⛔ skills/objectstack-platform/SKILL.md (PR #30704 holds it), ⛔ packages/** (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 Skills-docs: follow-up of landed work)
Thread-read: 6650122409
Premise: holds: PR #30272 merged; L354-356 still teach the feature_flags manifest and OS_FEATURE_FLAGS_* on origin/main788715ef
Serial constraints cleared: PR #30704 (#30505) is open on skills/objectstack-platform/SKILL.md and evals/config-plugins-ops.json; this card edits the reference page only, and touches the eval file only if a feature_flags prompt exists there (then it merges main after PR #30704 lands)
Tier H (skills/**): draft until a governed approver approves; the seat's at-tier contract review precedes ACCEPT.
Activity
objectstack-fleet commentedon Nov 5, 2026
triage#1 · os-zhuang · session_01AavokzJ5DndAwitDXvKy4U
Path: none
Triage: first-touch audit · p3 kept ·
domain:skills·pm:queuekept · 2026-11-05T04:59Z⛔ Not a claim.
objectstack-platform'splugin-development.mdstill teaches thefeature_flagssettings manifest that PR fix(service-settings)!: remove the Feature Flags page whose four toggles changed nothing #30272 removes. p3. The changeset rule applies ('@objectstack/skills': patch).Generated by Claude Code
objectstack-fleet commentedon Nov 5, 2026
domain:skills#1 · os-elon-musk · session_016WV4d1mkgEris4MHHLjtnk
Claim: PM loop round 1 · 2026-11-05T23:02Z
Session:
session_016WV4d1mkgEris4MHHLjtnkAccount:
os-elon-musk(the seat's linked user asGET /useranswers it; the card's assignee)Branch:
claude/project-thread-c57y86(the card thread's designated branch; dev sessionsession_016WV4d1cT65NsbTucMW55wZ, amended by the seat)Worktree:
objectstack-issue-30275Domain:
domain:skillsSeat:
domain:skills#1File surface:
skills/objectstack-platform/references/plugin-development.md(thefeature_flagsbullet, ~L354-356),skills/objectstack-platform/evals/**only if an eval prompts forfeature_flags, one root.changeset/file. ⛔skills/objectstack-platform/SKILL.md(PR #30704 holds it), ⛔packages/**(stop on breach)Container & model:
S,mode:thread,model: TIER_DEFAULT(dispatch-gates --tier: MANDATORYCONTRACT_REVIEW_TIERforskills/**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: mediumClause-②: no
Metadata-protocol: none
Responsibility:
n/a — not a defect card(aSkills-docs:follow-up of landed work)Thread-read: 6650122409
Premise: holds: PR #30272 merged; L354-356 still teach the
feature_flagsmanifest andOS_FEATURE_FLAGS_*onorigin/main788715efSerial constraints cleared: PR #30704 (#30505) is open on
skills/objectstack-platform/SKILL.mdandevals/config-plugins-ops.json; this card edits the reference page only, and touches the eval file only if afeature_flagsprompt exists there (then it mergesmainafter PR #30704 lands)Tier H (
skills/**): draft until a governed approver approves; the seat's at-tier contract review precedes ACCEPT.Generated by Claude Code
objectstack-fleet commentedon Nov 5, 2026
domain:skills#1 · os-elon-musk · session_016WV4d1cT65NsbTucMW55wZ
os-dev-report
{ "issue": 30275, "status": "done", "branch": "claude/project-thread-c57y86", "pr": "https://github.com/objectstack-ai/objectstack/pull/30726", "session": "session_016WV4d1cT65NsbTucMW55wZ", "premise_still_valid": true, "summary": "Replaced the plugin-development.md Feature Flags bullet that taught the removed feature_flags settings manifest (ai_enabled / beta_*, OS_FEATURE_FLAGS_*) with the live answer read off main: a plugin that needs an org toggle declares its own SettingsManifest and registers it on the settings service (SettingsService.registerManifest is public; the service registers as 'settings'). Added a '@objectstack/skills': patch changeset. No eval in skills/** mentions feature_flags or OS_FEATURE_FLAGS, so no eval edit (config-plugins-ops.json untouched).", "tests": "Docs-only; no test changed. Ratchet: plugin-development.md 3137 -> 3125 tokens (ceiling 3137 unchanged), 359 -> 358 lines; no SKILL.md touched; bundle 226234 -> 226222 tokens.", "gates": "Head 997decb3 (origin/main merged, no conflict): 43 derived families + pnpm lint. 41 exit 0, pnpm lint exit 0; check:dual-build-cjs-loads and check:lean-entry-closure exit 3 (need whole-tree dist) = NOT MEASURED, declared narrowing, CI runs them. dispatch-gates --ran exit 0: 43 derived, 41 run, 2 NOT-MEASURED, 0 UNRUN. PR check-runs: not read at report time (in_progress).", "dogfood_battery": "n/a — no ! in the PR title and no (narrowing) arm", "line_budget": { "file": "skills/objectstack-platform/references/plugin-development.md", "tokens_before": 3137, "tokens_after": 3125, "ceiling": 3137, "lines_before": 359, "lines_after": 358, "skill_md_sum_changed": false }, "files_changed": [ ".changeset/30275-plugin-dev-feature-flags-bullet.md", "skills/objectstack-platform/references/plugin-development.md" ], "deviations": [ "Relay pr_create returned GitHub HTTP 500 three times on head 677b6cb2 (runs 42128973250, 42129017869, 42129056198; no PR created, read back). Per the seat's plan: merged origin/main, pushed 997decb3, re-ran gates, one retry landed PR #30726 (run 42130757272, body identical on read-back)." ], "mcp_calls": "15 — reads only: issue_read x2, list_pull_requests x4, actions_get x1, actions_list x3, get_job_logs x2, plus ToolSearch loads; zero MCP writes", "api_writes": "5 — relay repository_dispatch: pr_create x4 (3 failed with HTTP 500, 1 landed #30726), this report comment x1; git push x2 (not REST)", "open_questions": [], "security_findings": "none", "out_of_scope_findings": [] }objectstack-fleet commentedon Nov 5, 2026
domain:skills#1 · os-elon-musk · session_016WV4d1mkgEris4MHHLjtnk
ACCEPT → PR #30726 comment 6672706810 (head
997decb3), contract review PASS 6672499661. Tier H: awaiting a governed approver.