[ { "id": "8803516405", "type": "ForkEvent", "actor": { "id": 67992, "login": "wonderchook", "display_login": "wonderchook", "gravatar_id": "", "url": "https://api.github.com/users/wonderchook", "avatar_url": "https://avatars.githubusercontent.com/u/67992?" }, "repo": { "id": 1218014178, "name": "charlie947/social-media-skills", "url": "https://api.github.com/repos/charlie947/social-media-skills" }, "payload": { "action": "forked", "forkee": { "id": 1221813798, "node_id": "R_kgDOSNNmJg", "name": "social-media-skills", "full_name": "Untangling-Systems/social-media-skills", "private": false, "owner": { "login": "Untangling-Systems", "id": 274656098, "node_id": "O_kgDOEF7rYg", "avatar_url": "https://avatars.githubusercontent.com/u/274656098?v=4", "gravatar_id": "", "url": "https://api.github.com/users/Untangling-Systems", "html_url": "https://github.com/Untangling-Systems", "followers_url": "https://api.github.com/users/Untangling-Systems/followers", "following_url": "https://api.github.com/users/Untangling-Systems/following{/other_user}", "gists_url": "https://api.github.com/users/Untangling-Systems/gists{/gist_id}", "starred_url": "https://api.github.com/users/Untangling-Systems/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/Untangling-Systems/subscriptions", "organizations_url": "https://api.github.com/users/Untangling-Systems/orgs", "repos_url": "https://api.github.com/users/Untangling-Systems/repos", "events_url": "https://api.github.com/users/Untangling-Systems/events{/privacy}", "received_events_url": "https://api.github.com/users/Untangling-Systems/received_events", "type": "Organization", "user_view_type": "public", "site_admin": false }, "html_url": "https://github.com/Untangling-Systems/social-media-skills", "description": null, "fork": true, "url": "https://api.github.com/repos/Untangling-Systems/social-media-skills", "forks_url": "https://api.github.com/repos/Untangling-Systems/social-media-skills/forks", "keys_url": "https://api.github.com/repos/Untangling-Systems/social-media-skills/keys{/key_id}", "collaborators_url": "https://api.github.com/repos/Untangling-Systems/social-media-skills/collaborators{/collaborator}", "teams_url": "https://api.github.com/repos/Untangling-Systems/social-media-skills/teams", "hooks_url": "https://api.github.com/repos/Untangling-Systems/social-media-skills/hooks", "issue_events_url": "https://api.github.com/repos/Untangling-Systems/social-media-skills/issues/events{/number}", "events_url": "https://api.github.com/repos/Untangling-Systems/social-media-skills/events", "assignees_url": "https://api.github.com/repos/Untangling-Systems/social-media-skills/assignees{/user}", "branches_url": "https://api.github.com/repos/Untangling-Systems/social-media-skills/branches{/branch}", "tags_url": "https://api.github.com/repos/Untangling-Systems/social-media-skills/tags", "blobs_url": "https://api.github.com/repos/Untangling-Systems/social-media-skills/git/blobs{/sha}", "git_tags_url": "https://api.github.com/repos/Untangling-Systems/social-media-skills/git/tags{/sha}", "git_refs_url": "https://api.github.com/repos/Untangling-Systems/social-media-skills/git/refs{/sha}", "trees_url": "https://api.github.com/repos/Untangling-Systems/social-media-skills/git/trees{/sha}", "statuses_url": "https://api.github.com/repos/Untangling-Systems/social-media-skills/statuses/{sha}", "languages_url": "https://api.github.com/repos/Untangling-Systems/social-media-skills/languages", "stargazers_url": "https://api.github.com/repos/Untangling-Systems/social-media-skills/stargazers", "contributors_url": "https://api.github.com/repos/Untangling-Systems/social-media-skills/contributors", "subscribers_url": "https://api.github.com/repos/Untangling-Systems/social-media-skills/subscribers", "subscription_url": "https://api.github.com/repos/Untangling-Systems/social-media-skills/subscription", "commits_url": "https://api.github.com/repos/Untangling-Systems/social-media-skills/commits{/sha}", "git_commits_url": "https://api.github.com/repos/Untangling-Systems/social-media-skills/git/commits{/sha}", "comments_url": "https://api.github.com/repos/Untangling-Systems/social-media-skills/comments{/number}", "issue_comment_url": "https://api.github.com/repos/Untangling-Systems/social-media-skills/issues/comments{/number}", "contents_url": "https://api.github.com/repos/Untangling-Systems/social-media-skills/contents/{+path}", "compare_url": "https://api.github.com/repos/Untangling-Systems/social-media-skills/compare/{base}...{head}", "merges_url": "https://api.github.com/repos/Untangling-Systems/social-media-skills/merges", "archive_url": "https://api.github.com/repos/Untangling-Systems/social-media-skills/{archive_format}{/ref}", "downloads_url": "https://api.github.com/repos/Untangling-Systems/social-media-skills/downloads", "issues_url": "https://api.github.com/repos/Untangling-Systems/social-media-skills/issues{/number}", "pulls_url": "https://api.github.com/repos/Untangling-Systems/social-media-skills/pulls{/number}", "milestones_url": "https://api.github.com/repos/Untangling-Systems/social-media-skills/milestones{/number}", "notifications_url": "https://api.github.com/repos/Untangling-Systems/social-media-skills/notifications{?since,all,participating}", "labels_url": "https://api.github.com/repos/Untangling-Systems/social-media-skills/labels{/name}", "releases_url": "https://api.github.com/repos/Untangling-Systems/social-media-skills/releases{/id}", "deployments_url": "https://api.github.com/repos/Untangling-Systems/social-media-skills/deployments", "created_at": "2026-04-26T18:02:44Z", "updated_at": "2026-04-26T18:02:44Z", "pushed_at": "2026-04-23T14:57:33Z", "git_url": "git://github.com/Untangling-Systems/social-media-skills.git", "ssh_url": "git@github.com:Untangling-Systems/social-media-skills.git", "clone_url": "https://github.com/Untangling-Systems/social-media-skills.git", "svn_url": "https://github.com/Untangling-Systems/social-media-skills", "homepage": null, "size": 92, "stargazers_count": 0, "watchers_count": 0, "language": null, "has_issues": false, "has_projects": true, "has_downloads": true, "has_wiki": true, "has_pages": false, "has_discussions": false, "forks_count": 0, "mirror_url": null, "archived": false, "disabled": false, "open_issues_count": 0, "license": { "key": "mit", "name": "MIT License", "spdx_id": "MIT", "url": "https://api.github.com/licenses/mit", "node_id": "MDc6TGljZW5zZTEz" }, "allow_forking": true, "is_template": false, "web_commit_signoff_required": false, "has_pull_requests": true, "pull_request_creation_policy": "all", "topics": [ ], "visibility": "public", "forks": 0, "open_issues": 0, "watchers": 0, "default_branch": "main" } }, "public": true, "created_at": "2026-04-26T18:02:44Z" }, { "id": "11061816288", "type": "PushEvent", "actor": { "id": 67992, "login": "wonderchook", "display_login": "wonderchook", "gravatar_id": "", "url": "https://api.github.com/users/wonderchook", "avatar_url": "https://avatars.githubusercontent.com/u/67992?" }, "repo": { "id": 1205407437, "name": "Untangling-Systems/flywheel", "url": "https://api.github.com/repos/Untangling-Systems/flywheel" }, "payload": { "repository_id": 1205407437, "push_id": 33353518126, "ref": "refs/heads/main", "head": "2ea569de6134a7ea2b1fdc3068459f6792cac132", "before": "a3b1616e959c3b9a0aff4aad96d4c382769bea0a" }, "public": true, "created_at": "2026-04-26T13:35:24Z", "org": { "id": 274656098, "login": "Untangling-Systems", "gravatar_id": "", "url": "https://api.github.com/orgs/Untangling-Systems", "avatar_url": "https://avatars.githubusercontent.com/u/274656098?" } }, { "id": "8800325937", "type": "PullRequestEvent", "actor": { "id": 67992, "login": "wonderchook", "display_login": "wonderchook", "gravatar_id": "", "url": "https://api.github.com/users/wonderchook", "avatar_url": "https://avatars.githubusercontent.com/u/67992?" }, "repo": { "id": 1205407437, "name": "Untangling-Systems/flywheel", "url": "https://api.github.com/repos/Untangling-Systems/flywheel" }, "payload": { "action": "merged", "number": 3, "pull_request": { "url": "https://api.github.com/repos/Untangling-Systems/flywheel/pulls/3", "id": 3585701158, "number": 3, "head": { "ref": "fix/readme-credit-ramanujam", "sha": "f61428d01f682073f265ee5522da0e12a6dbc390", "repo": { "id": 1205407437, "url": "https://api.github.com/repos/Untangling-Systems/flywheel", "name": "flywheel" } }, "base": { "ref": "main", "sha": "a3b1616e959c3b9a0aff4aad96d4c382769bea0a", "repo": { "id": 1205407437, "url": "https://api.github.com/repos/Untangling-Systems/flywheel", "name": "flywheel" } } } }, "public": true, "created_at": "2026-04-26T13:35:23Z", "org": { "id": 274656098, "login": "Untangling-Systems", "gravatar_id": "", "url": "https://api.github.com/orgs/Untangling-Systems", "avatar_url": "https://avatars.githubusercontent.com/u/274656098?" } }, { "id": "8800278027", "type": "PullRequestEvent", "actor": { "id": 67992, "login": "wonderchook", "display_login": "wonderchook", "gravatar_id": "", "url": "https://api.github.com/users/wonderchook", "avatar_url": "https://avatars.githubusercontent.com/u/67992?" }, "repo": { "id": 1205407437, "name": "Untangling-Systems/flywheel", "url": "https://api.github.com/repos/Untangling-Systems/flywheel" }, "payload": { "action": "opened", "number": 3, "pull_request": { "url": "https://api.github.com/repos/Untangling-Systems/flywheel/pulls/3", "id": 3585701158, "number": 3, "head": { "ref": "fix/readme-credit-ramanujam", "sha": "f61428d01f682073f265ee5522da0e12a6dbc390", "repo": { "id": 1205407437, "url": "https://api.github.com/repos/Untangling-Systems/flywheel", "name": "flywheel" } }, "base": { "ref": "main", "sha": "a3b1616e959c3b9a0aff4aad96d4c382769bea0a", "repo": { "id": 1205407437, "url": "https://api.github.com/repos/Untangling-Systems/flywheel", "name": "flywheel" } } } }, "public": true, "created_at": "2026-04-26T13:31:13Z", "org": { "id": 274656098, "login": "Untangling-Systems", "gravatar_id": "", "url": "https://api.github.com/orgs/Untangling-Systems", "avatar_url": "https://avatars.githubusercontent.com/u/274656098?" } }, { "id": "11061725203", "type": "CreateEvent", "actor": { "id": 67992, "login": "wonderchook", "display_login": "wonderchook", "gravatar_id": "", "url": "https://api.github.com/users/wonderchook", "avatar_url": "https://avatars.githubusercontent.com/u/67992?" }, "repo": { "id": 1205407437, "name": "Untangling-Systems/flywheel", "url": "https://api.github.com/repos/Untangling-Systems/flywheel" }, "payload": { "ref": "fix/readme-credit-ramanujam", "ref_type": "branch", "full_ref": "refs/heads/fix/readme-credit-ramanujam", "master_branch": "main", "description": "Claude Code plugin encoding April Dunford's positioning framework and Matt Lerner's growth framework into compounding workflows", "pusher_type": "user" }, "public": true, "created_at": "2026-04-26T13:31:05Z", "org": { "id": 274656098, "login": "Untangling-Systems", "gravatar_id": "", "url": "https://api.github.com/orgs/Untangling-Systems", "avatar_url": "https://avatars.githubusercontent.com/u/274656098?" } }, { "id": "11061468901", "type": "PushEvent", "actor": { "id": 67992, "login": "wonderchook", "display_login": "wonderchook", "gravatar_id": "", "url": "https://api.github.com/users/wonderchook", "avatar_url": "https://avatars.githubusercontent.com/u/67992?" }, "repo": { "id": 1205407437, "name": "Untangling-Systems/flywheel", "url": "https://api.github.com/repos/Untangling-Systems/flywheel" }, "payload": { "repository_id": 1205407437, "push_id": 33353170219, "ref": "refs/heads/main", "head": "a3b1616e959c3b9a0aff4aad96d4c382769bea0a", "before": "bd50cc12cbf3a485b42cc8eab08694010c2b0ccc" }, "public": true, "created_at": "2026-04-26T13:19:08Z", "org": { "id": 274656098, "login": "Untangling-Systems", "gravatar_id": "", "url": "https://api.github.com/orgs/Untangling-Systems", "avatar_url": "https://avatars.githubusercontent.com/u/274656098?" } }, { "id": "8800140262", "type": "IssueCommentEvent", "actor": { "id": 67992, "login": "wonderchook", "display_login": "wonderchook", "gravatar_id": "", "url": "https://api.github.com/users/wonderchook", "avatar_url": "https://avatars.githubusercontent.com/u/67992?" }, "repo": { "id": 1205407437, "name": "Untangling-Systems/flywheel", "url": "https://api.github.com/repos/Untangling-Systems/flywheel" }, "payload": { "action": "created", "issue": { "url": "https://api.github.com/repos/Untangling-Systems/flywheel/issues/2", "repository_url": "https://api.github.com/repos/Untangling-Systems/flywheel", "labels_url": "https://api.github.com/repos/Untangling-Systems/flywheel/issues/2/labels{/name}", "comments_url": "https://api.github.com/repos/Untangling-Systems/flywheel/issues/2/comments", "events_url": "https://api.github.com/repos/Untangling-Systems/flywheel/issues/2/events", "html_url": "https://github.com/Untangling-Systems/flywheel/pull/2", "id": 4328994047, "node_id": "PR_kwDOR9kOzc7VojeE", "number": 2, "title": "Add --canvas multi-canvas support and optional --values-check for fw-…", "user": { "login": "XerafinaTaleSedrin", "id": 216783014, "node_id": "U_kgDODOvYpg", "avatar_url": "https://avatars.githubusercontent.com/u/216783014?v=4", "gravatar_id": "", "url": "https://api.github.com/users/XerafinaTaleSedrin", "html_url": "https://github.com/XerafinaTaleSedrin", "followers_url": "https://api.github.com/users/XerafinaTaleSedrin/followers", "following_url": "https://api.github.com/users/XerafinaTaleSedrin/following{/other_user}", "gists_url": "https://api.github.com/users/XerafinaTaleSedrin/gists{/gist_id}", "starred_url": "https://api.github.com/users/XerafinaTaleSedrin/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/XerafinaTaleSedrin/subscriptions", "organizations_url": "https://api.github.com/users/XerafinaTaleSedrin/orgs", "repos_url": "https://api.github.com/users/XerafinaTaleSedrin/repos", "events_url": "https://api.github.com/users/XerafinaTaleSedrin/events{/privacy}", "received_events_url": "https://api.github.com/users/XerafinaTaleSedrin/received_events", "type": "User", "user_view_type": "public", "site_admin": false }, "labels": [ ], "state": "closed", "locked": false, "assignees": [ ], "milestone": null, "comments": 2, "created_at": "2026-04-25T19:11:37Z", "updated_at": "2026-04-26T22:03:06Z", "closed_at": "2026-04-26T13:19:07Z", "assignee": null, "type": null, "active_lock_reason": null, "draft": false, "pull_request": { "url": "https://api.github.com/repos/Untangling-Systems/flywheel/pulls/2", "html_url": "https://github.com/Untangling-Systems/flywheel/pull/2", "diff_url": "https://github.com/Untangling-Systems/flywheel/pull/2.diff", "patch_url": "https://github.com/Untangling-Systems/flywheel/pull/2.patch", "merged_at": "2026-04-26T13:19:07Z" }, "body": "### Summary\r\n\r\nTwo related additions from running these skills against a multi-track consultancy + a small mission-driven client base. Short period (~2 weeks of intensive use across multiple canvases) — both patches emerged from real friction, not speculative additions.\r\n\r\n### 1. Multi-canvas support via `--canvas ` flag (all 6 skills)\r\n\r\nThe skills currently read/write `docs/positioning/current.md` exclusively. For consultants or operators with multiple distinct positioning canvases (e.g., portfolio-level + per-track canvases, or per-product canvases for a multi-product company), this requires renaming files in/out of `current.md` between sessions — fragile and prone to losing work.\r\n\r\nThis patch adds canvas path resolution that:\r\n1. Accepts an explicit `--canvas ` flag → uses that path\r\n2. If no flag passed and exactly one `*.md` exists in `docs/positioning/` (excluding `portfolio.md` and `archive/`) → uses that\r\n3. If multiple exist with no flag → asks the user which to work on\r\n4. Falls back to `docs/positioning/current.md` (existing behavior preserved)\r\n\r\n**Backward compatible.** Single-canvas users see no change in behavior.\r\n\r\nImplementation: a new \"Canvas Path Resolution\" section near the top of each skill's SKILL.md, plus an updated argument-hint and a description suffix. Applied uniformly across all six skills (fw-position, fw-copy, fw-grow, fw-compound, fw-monetize, fw-pitch) so behavior is consistent everywhere a positioning canvas is read or written. No code paths removed.\r\n\r\n### 2. Optional values-fit check via `--values-check` flag (fw-position only)\r\n\r\nThe original framework optimizes for market defensibility — appropriate for VC-backed teams where the value engine and the founder's daily life are decoupled. For solo founders, consultants, and lifestyle businesses, the positioning IS the founder's daily work, and a defensible canvas pointed at the wrong segment or wrong frame produces a successful business the founder hates running.\r\n\r\nThis patch adds an opt-in `--values-check` flag (default OFF) that:\r\n- Adds brief \"Values check\" prompts woven into Steps 1, 2, 4, and 5 (each clearly marked `(--values-check only)` so they're easy to skip when reading)\r\n- Captures responses as `values_notes` per step rather than redirecting — surfaces accumulated tension rather than blocking progress\r\n- Adds a dedicated **Values-Fit Sanity Check** section before canvas assembly that surfaces all `values_notes` and offers three resolutions (ship as-is with notes, sharpen one section, park the canvas)\r\n\r\n**Default behavior is unchanged.** Users who don't pass the flag see the same flow they always have. The values-check is purely additive — does not change the structural sequence or enforcement of the 5 Dunford steps.\r\n\r\n### Why these were upstreamed\r\n\r\nThe local versions of both patches have been in use for ~2 weeks against:\r\n- A 3-track consultancy portfolio (direct-to-owner, broker-referred exit-ready, and a creator/maker track in formation) — multi-canvas patch was the immediate friction point\r\n- ~10 mission-driven small business clients across retail, agriculture, healthcare, campaign, and education sectors — the values-check addition came from noticing that defensible positioning sometimes pointed at execution the owner wouldn't sustain\r\n\r\nThe multi-canvas patch is structural ergonomics. The values-check patch is content depth for a user segment the framework didn't originally target but that small-EDC and mission-driven entrepreneurship advisors will recognize.\r\n\r\n### What this is NOT\r\n\r\n- A change to the Dunford framework's structural integrity — both flags are additive\r\n- A new step in the sequence — the values-check adds prompts to existing steps, not a sixth step\r\n- An opinion imposed on existing users — both flags are opt-in, default behavior preserved\r\n- A complete rewrite — surgical additive changes layered on top of current upstream content (Kate's recent fw-compound integration of fw-pitch + fw-monetize references is fully preserved)\r\n\r\n### Test plan\r\n\r\n- [ ] Verify `--canvas ` flag works with explicit path on all 6 skills\r\n- [ ] Verify default canvas resolution behaves correctly in the three cases (single canvas, multiple canvases, no canvas)\r\n- [ ] Verify `--values-check` flag enables the woven prompts + closing check on fw-position\r\n- [ ] Verify default behavior (no `--values-check`) is identical to pre-patch behavior\r\n- [ ] Run a complete /fw:position session with both flags enabled to confirm flow\r\n- [ ] Run /fw:monetize and /fw:pitch with `--canvas` against a multi-canvas portfolio to confirm the new pricing/storyboard skills honor the resolved path\r\n\r\n### Open question for Kate\r\n\r\nHappy to split this into two separate PRs if you'd prefer to review them independently — they're related but not coupled. Let me know.", "reactions": { "url": "https://api.github.com/repos/Untangling-Systems/flywheel/issues/2/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 }, "timeline_url": "https://api.github.com/repos/Untangling-Systems/flywheel/issues/2/timeline", "performed_via_github_app": null, "state_reason": null }, "comment": { "url": "https://api.github.com/repos/Untangling-Systems/flywheel/issues/comments/4322114355", "html_url": "https://github.com/Untangling-Systems/flywheel/pull/2#issuecomment-4322114355", "issue_url": "https://api.github.com/repos/Untangling-Systems/flywheel/issues/2", "id": 4322114355, "node_id": "IC_kwDOR9kOzc8AAAABAZ47Mw", "user": { "login": "wonderchook", "id": 67992, "node_id": "MDQ6VXNlcjY3OTky", "avatar_url": "https://avatars.githubusercontent.com/u/67992?v=4", "gravatar_id": "", "url": "https://api.github.com/users/wonderchook", "html_url": "https://github.com/wonderchook", "followers_url": "https://api.github.com/users/wonderchook/followers", "following_url": "https://api.github.com/users/wonderchook/following{/other_user}", "gists_url": "https://api.github.com/users/wonderchook/gists{/gist_id}", "starred_url": "https://api.github.com/users/wonderchook/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/wonderchook/subscriptions", "organizations_url": "https://api.github.com/users/wonderchook/orgs", "repos_url": "https://api.github.com/users/wonderchook/repos", "events_url": "https://api.github.com/users/wonderchook/events{/privacy}", "received_events_url": "https://api.github.com/users/wonderchook/received_events", "type": "User", "user_view_type": "public", "site_admin": false }, "created_at": "2026-04-26T13:19:02Z", "updated_at": "2026-04-26T13:19:02Z", "body": "Thanks for this — two weeks of real use against a multi-track portfolio is exactly the kind of dogfooding that surfaces real friction, and both additions solve genuine problems.\n\nI went ahead and applied a few fixes directly on your branch before merging rather than asking you to go back and forth:\n\n- **Pricing store collision** — `docs/pricing/current.md` is now derived from the canvas path, so `docs/positioning/track-a.md` → `docs/pricing/track-a.md`. Single-canvas users see no change.\n- **Pipeline Mode headless fallback** — added the silent canvas resolution rule to fw-copy, fw-pitch, fw-grow, and fw-compound so agent pipelines on multi-canvas repos don't stall at the disambiguation prompt.\n- **fw:compound Detect Context** — updated step 1 to use the resolved canvas path instead of the hardcoded `docs/positioning/current.md`.\n- **AGENTS.md** — documented `portfolio.md`, the named canvas/pricing file convention, and the optional `## Values-Fit Notes` canvas section.\n- **Version bump** — 0.5.0 → 0.6.0.\n- **Attribution labels** — moved the patch credit out of the live instruction headings (they were showing up in the AI's runtime context on every invocation) — the git log has the attribution.\n\nA few things I left for a follow-up PR if you want to pick them up:\n\n- **Values-check loop-back termination guard** — if a user picks option 2 (\"sharpen one section\") and loops back, the Values-Fit Sanity Check fires again after the revised step completes. Worth adding: *\"After a loop-back completes, proceed directly to Assembling the Canvas — do not re-run the Values-Fit Sanity Check.\"*\n- **`values_notes` schema** — the field is introduced but never defined (in-memory vs. written, keyed by step number or name). A short definition in the Values-Fit Check section would make headless invocations consistent.\n- **Same-day park collision** — two parks on the same date overwrite each other at `archive/parked-{YYYY-MM-DD}.md`. A product-name slug (`parked-{YYYY-MM-DD}-{slug}.md`) would fix it.\n- **`## Values-Fit Notes` and fw:copy drift detection** — the section contains first-person founder statements that the drift detector will attempt to classify as ungrounded marketing claims. Worth adding it to the exclusion list in fw:copy's claims inventory step.\n- **Argument parsing for `--canvas` paths with spaces** — worth documenting the quoting convention (`--canvas \"path/to/my canvas.md\"`) in the argument-hint and noting that tokens starting with `--` are flags so Claude knows how to split positional args from flags.\n\nThe `--values-check` additions are solid — the framework reasoning is sound and the prompts are thoughtful. Good call making it opt-in.", "reactions": { "url": "https://api.github.com/repos/Untangling-Systems/flywheel/issues/comments/4322114355/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 }, "performed_via_github_app": null } }, "public": true, "created_at": "2026-04-26T13:19:02Z", "org": { "id": 274656098, "login": "Untangling-Systems", "gravatar_id": "", "url": "https://api.github.com/orgs/Untangling-Systems", "avatar_url": "https://avatars.githubusercontent.com/u/274656098?" } }, { "id": "11061411206", "type": "PushEvent", "actor": { "id": 67992, "login": "wonderchook", "display_login": "wonderchook", "gravatar_id": "", "url": "https://api.github.com/users/wonderchook", "avatar_url": "https://avatars.githubusercontent.com/u/67992?" }, "repo": { "id": 1221086868, "name": "XerafinaTaleSedrin/flywheel", "url": "https://api.github.com/repos/XerafinaTaleSedrin/flywheel" }, "payload": { "repository_id": 1221086868, "push_id": 33353112465, "ref": "refs/heads/multi-canvas-and-values-check", "head": "20f53145d586327a4bd47ea8ba0feeff13e3f2d7", "before": "5df5c2e9a813556e0afaee5dc4d7cba20b0058d8" }, "public": true, "created_at": "2026-04-26T13:16:32Z" }, { "id": "11061271808", "type": "PushEvent", "actor": { "id": 1153134, "login": "muan", "display_login": "muan", "gravatar_id": "", "url": "https://api.github.com/users/muan", "avatar_url": "https://avatars.githubusercontent.com/u/1153134?" }, "repo": { "id": 8150553, "name": "muan/site", "url": "https://api.github.com/repos/muan/site" }, "payload": { "repository_id": 8150553, "push_id": 33352972942, "ref": "refs/heads/main", "head": "50659bb853148940b04a570414b59b48f5f86888", "before": "75002b78c5ad44fb375bd596d7b3319cef8ffe95" }, "public": true, "created_at": "2026-04-26T13:10:26Z" }, { "id": "11058077005", "type": "CreateEvent", "actor": { "id": 179065, "login": "haileys", "display_login": "haileys", "gravatar_id": "", "url": "https://api.github.com/users/haileys", "avatar_url": "https://avatars.githubusercontent.com/u/179065?" }, "repo": { "id": 327917918, "name": "haileys/linux", "url": "https://api.github.com/repos/haileys/linux" }, "payload": { "ref": "win9x-um-6.19+timer-fix", "ref_type": "branch", "full_ref": "refs/heads/win9x-um-6.19+timer-fix", "master_branch": "master", "description": "Linux kernel source tree", "pusher_type": "user" }, "public": true, "created_at": "2026-04-26T10:30:05Z" }, { "id": "11057923561", "type": "PushEvent", "actor": { "id": 179065, "login": "haileys", "display_login": "haileys", "gravatar_id": "", "url": "https://api.github.com/users/haileys", "avatar_url": "https://avatars.githubusercontent.com/u/179065?" }, "repo": { "id": 327917918, "name": "haileys/linux", "url": "https://api.github.com/repos/haileys/linux" }, "payload": { "repository_id": 327917918, "push_id": 33349620149, "ref": "refs/heads/win9x-um-6.19+hostfs", "head": "7118f5e8a33db329574f8beb2d716dc4b8f925a2", "before": "92ee881dc6a3313c4b5947391d17260025658570" }, "public": true, "created_at": "2026-04-26T10:21:23Z" }, { "id": "8793570452", "type": "WatchEvent", "actor": { "id": 246211159, "login": "mikecomplexai-7", "display_login": "mikecomplexai-7", "gravatar_id": "", "url": "https://api.github.com/users/mikecomplexai-7", "avatar_url": "https://avatars.githubusercontent.com/u/246211159?" }, "repo": { "id": 56271164, "name": "octocat/test-repo1", "url": "https://api.github.com/repos/octocat/test-repo1" }, "payload": { "action": "started" }, "public": true, "created_at": "2026-04-26T01:41:16Z" }, { "id": "11047370170", "type": "PushEvent", "actor": { "id": 67992, "login": "wonderchook", "display_login": "wonderchook", "gravatar_id": "", "url": "https://api.github.com/users/wonderchook", "avatar_url": "https://avatars.githubusercontent.com/u/67992?" }, "repo": { "id": 1221086868, "name": "XerafinaTaleSedrin/flywheel", "url": "https://api.github.com/repos/XerafinaTaleSedrin/flywheel" }, "payload": { "repository_id": 1221086868, "push_id": 33339053034, "ref": "refs/heads/multi-canvas-and-values-check", "head": "5df5c2e9a813556e0afaee5dc4d7cba20b0058d8", "before": "e8da93c787b8ee9c125a467b09ae1c34c60ac20d" }, "public": true, "created_at": "2026-04-25T23:47:51Z" }, { "id": "8792437273", "type": "PullRequestReviewEvent", "actor": { "id": 67992, "login": "wonderchook", "display_login": "wonderchook", "gravatar_id": "", "url": "https://api.github.com/users/wonderchook", "avatar_url": "https://avatars.githubusercontent.com/u/67992?" }, "repo": { "id": 1205407437, "name": "Untangling-Systems/flywheel", "url": "https://api.github.com/repos/Untangling-Systems/flywheel" }, "payload": { "review": { "id": 4176279342, "node_id": "PRR_kwDOR9kOzc747Pcu", "user": { "login": "wonderchook", "id": 67992, "node_id": "MDQ6VXNlcjY3OTky", "avatar_url": "https://avatars.githubusercontent.com/u/67992?v=4", "gravatar_id": "", "url": "https://api.github.com/users/wonderchook", "html_url": "https://github.com/wonderchook", "followers_url": "https://api.github.com/users/wonderchook/followers", "following_url": "https://api.github.com/users/wonderchook/following{/other_user}", "gists_url": "https://api.github.com/users/wonderchook/gists{/gist_id}", "starred_url": "https://api.github.com/users/wonderchook/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/wonderchook/subscriptions", "organizations_url": "https://api.github.com/users/wonderchook/orgs", "repos_url": "https://api.github.com/users/wonderchook/repos", "events_url": "https://api.github.com/users/wonderchook/events{/privacy}", "received_events_url": "https://api.github.com/users/wonderchook/received_events", "type": "User", "user_view_type": "public", "site_admin": false }, "body": "## Review: multi-canvas + values-check\n\nReviewed against three criteria: Dunford framework integrity, backwards compatibility, and fit for both single-repo-multi-project and single-repo-per-project setups. Also ran a parallel CE code review (correctness, maintainability, project-standards, agent-native, adversarial, cli-readiness).\n\n---\n\n### Framework integrity — PASS with one watch item\n\nThe `--values-check` addition does not dilute Dunford. The 5-step sequence is unchanged, the prompts are clearly labeled `(--values-check only)`, they capture `values_notes` without blocking progress, and default behavior is identical to pre-patch. The one content tension worth naming: prompts at Steps 4 and 5 can steer a founder away from defensible positioning toward comfort-zone choices. This is intentional and the PR is explicit about the tradeoff — acceptable as opt-in. Do not soften the existing enforcement language in those steps.\n\n### Backwards compatibility — PASS with one edge case to note\n\nSingle-canvas repos (one `current.md`) see zero behavior change. The one new interactive behavior: if a user has two `.md` files in `docs/positioning/` and passes no `--canvas` flag, they now get prompted to pick one instead of implicitly landing on `current.md`. This is correct behavior but it's worth noting in the changelog — it's not a silent no-op.\n\n### Single repo with multiple positioning projects — PARTIAL PASS\n\nThe `--canvas` path resolution for the positioning canvas is solid. **The gap is the pricing store.** `docs/pricing/current.md` is hardcoded in fw-monetize and has no `--canvas`-awareness. A user with `track-a.md` and `track-b.md` who runs `/fw:monetize --canvas track-a.md` then `/fw:monetize --canvas track-b.md` will have the second run archive and overwrite the first run's active pricing decision silently. This is the core failure mode for the stated consultancy use case. I'd ask you to either fix this or add an explicit warning in fw-monetize (e.g., \"Note: in multi-canvas projects, running /fw:monetize twice overwrites docs/pricing/current.md — rename it before the second run\") before merge.\n\n### Single repo per project — PASS\n\nNo behavioral change.\n\n---\n\n## Required before merge\n\n### P0\n- **Version bump missing.** `plugin.json` and `marketplace.json` are not in the diff but AGENTS.md Versioning requires bumping both on every change.\n\n### P1 — Please fix\n\n1. **Attribution label in live instruction headings.** `## Canvas Path Resolution (Komorebi multi-canvas patch, 2026-04-21)` is a heading the AI reads at runtime as instruction context. Rename to `## Canvas Path Resolution` in all 6 skills and move the attribution to the commit message or a CHANGES section in AGENTS.md.\n\n2. **`portfolio.md` is undefined.** Every Canvas Path Resolution block excludes `portfolio.md` by name, but this file appears nowhere in AGENTS.md's directory tree, Knowledge Stores schema, or any skill output. Either define it (what it is, who creates it, what schema it uses) in AGENTS.md, or remove the exclusion and rely solely on `--canvas` for explicit targeting.\n\n3. **AGENTS.md structure diagram not updated.** Required by AGENTS.md Versioning. The PR introduces `portfolio.md` as a sentinel and `## Values-Fit Notes` as a new canvas body section — neither appears in the diagram.\n\n4. **Pipeline Mode headless fallback missing from 5 skills.** The multi-canvas disambiguation prompt (\"which canvas?\") has no headless fallback in fw-copy, fw-pitch, fw-monetize, fw-grow, or fw-compound. Only fw-position's Pipeline Mode section was updated. An agent pipeline on a multi-canvas repo running any of the other five skills will stall at the disambiguation prompt. Add a headless default to each: \"if multiple canvases exist and no `--canvas` flag, use `docs/positioning/current.md` and flag the assumption.\"\n\n5. **Spaced paths in `--canvas` will be parsed as two tokens.** `--canvas docs/positioning/product a.md` gives Claude `docs/positioning/product` as the path and `a.md` as a floating arg. Document the quoting convention (`--canvas \"path/to/canvas.md\"`) in the argument-hint and skill body.\n\n6. **Argument parsing precedence undefined.** fw-position's argument-hint now contains a free-text positional, a value-bearing flag (`--canvas `), and a boolean flag (`--values-check`) with no defined parsing rule. Define it in the skill body: tokens starting with `--` are flags; `--canvas` takes the next token as its value; `--values-check` is boolean (presence only); the first non-flag token is the positional argument. Same applies to fw-pitch (`deck` token + `--canvas`) and fw-monetize (`wtp` token + `--canvas`).\n\n7. **`fw:compound` Detect Context step hardcodes `docs/positioning/current.md`.** The Canvas Path Resolution instruction covers \"all references below\" but Detect Context step 1 is a concrete read instruction — models often follow it literally before applying the substitution. Update the step to explicitly use the resolved path.\n\n---\n\n## Recommended before merge (P2)\n\n- **Values-check loop-back has no termination guard.** After option 2 (\"sharpen one section\"), the revised step completes and flow continues — directly into the Values-Fit Sanity Check again (it sits between Step 5 and canvas assembly). Add: \"After a loop-back completes, proceed directly to Assembling the Canvas — do not re-run the Values-Fit Sanity Check.\"\n- **`values_notes` field has no schema.** Steps 1, 2, 4, 5 say \"capture in a `values_notes` field\" but don't specify: in-memory vs. written, keyed by step number or name, what to write when running headlessly. Define it.\n- **Same-day park collision.** Two parks on the same date both write to `archive/parked-{YYYY-MM-DD}.md`. Use a slug or counter: `parked-{YYYY-MM-DD}-{product-slug}.md`.\n- **`## Values-Fit Notes` in canvas will trigger fw:copy drift detection false positives.** The section contains first-person founder statements that the claims inventory extraction will attempt to classify as ungrounded marketing claims. Add `## Values-Fit Notes` to the exclusion list in fw:copy's claims inventory step and in `references/drift-detector-rules.md`.\n- **Pipeline Mode mtime tiebreaker is non-deterministic in git repos.** After a `git clone`, all files share the checkout timestamp. Use `git log --follow -1 --format=%ai -- ` to get last commit date per canvas, or fail explicitly when ordering is ambiguous.\n- **`positioning-canvas` frontmatter in fw-copy and fw-grow is a code-fence literal.** The substitution rule (`all references below should substitute the resolved path`) may not apply inside backtick fences. Change the template literal to `positioning-canvas: [resolved canvas path from Canvas Path Resolution above]`.\n\n---\n\n## Advisory (worth knowing)\n\n- The Canvas Path Resolution block is copy-pasted verbatim across 6 files. A future change to the resolution order requires 6 identical edits — one miss produces silent divergent behavior between skills. Suggest defining the canonical rules once in AGENTS.md and referencing from each skill.\n- `fw:compound` in multi-canvas sessions: if the user ran a `--canvas track-a.md` session and then runs `/fw:compound` without `--canvas`, they may append learnings to the wrong canvas. Document that `--canvas` must be passed consistently across a session pipeline.\n\n---\n\n## Summary verdict\n\nThe `--values-check` flag is sound — approve as-is on framework integrity. The `--canvas` flag is the right solution for the stated problem. The blockers are tooling hygiene (version bump, AGENTS.md updates), a real UX gap (Pipeline Mode for 5 skills), and the pricing store collision for the primary use case. Happy to discuss splitting into two PRs if that makes the fixes easier to route.", "commit_id": "e8da93c787b8ee9c125a467b09ae1c34c60ac20d", "state": "commented", "html_url": "https://github.com/Untangling-Systems/flywheel/pull/2#pullrequestreview-4176279342", "pull_request_url": "https://api.github.com/repos/Untangling-Systems/flywheel/pulls/2", "_links": { "html": { "href": "https://github.com/Untangling-Systems/flywheel/pull/2#pullrequestreview-4176279342" }, "pull_request": { "href": "https://api.github.com/repos/Untangling-Systems/flywheel/pulls/2" } }, "submitted_at": "2026-04-25T23:37:34Z", "updated_at": "2026-04-25T23:37:34Z" }, "pull_request": { "url": "https://api.github.com/repos/Untangling-Systems/flywheel/pulls/2", "id": 3584178052, "number": 2, "head": { "ref": "multi-canvas-and-values-check", "sha": "20f53145d586327a4bd47ea8ba0feeff13e3f2d7", "repo": { "id": 1221086868, "url": "https://api.github.com/repos/XerafinaTaleSedrin/flywheel", "name": "flywheel" } }, "base": { "ref": "main", "sha": "bd50cc12cbf3a485b42cc8eab08694010c2b0ccc", "repo": { "id": 1205407437, "url": "https://api.github.com/repos/Untangling-Systems/flywheel", "name": "flywheel" } } }, "action": "created" }, "public": true, "created_at": "2026-04-25T23:37:35Z", "org": { "id": 274656098, "login": "Untangling-Systems", "gravatar_id": "", "url": "https://api.github.com/orgs/Untangling-Systems", "avatar_url": "https://avatars.githubusercontent.com/u/274656098?" } }, { "id": "11044704882", "type": "CreateEvent", "actor": { "id": 98681, "login": "mdo", "display_login": "mdo", "gravatar_id": "", "url": "https://api.github.com/users/mdo", "avatar_url": "https://avatars.githubusercontent.com/u/98681?" }, "repo": { "id": 2126244, "name": "twbs/bootstrap", "url": "https://api.github.com/repos/twbs/bootstrap" }, "payload": { "ref": "v6-customize-docs", "ref_type": "branch", "full_ref": "refs/heads/v6-customize-docs", "master_branch": "main", "description": "The most popular HTML, CSS, and JavaScript framework for developing responsive, mobile first projects on the web.", "pusher_type": "user" }, "public": true, "created_at": "2026-04-25T21:18:42Z", "org": { "id": 2918581, "login": "twbs", "gravatar_id": "", "url": "https://api.github.com/orgs/twbs", "avatar_url": "https://avatars.githubusercontent.com/u/2918581?" } }, { "id": "8791096526", "type": "PullRequestEvent", "actor": { "id": 98681, "login": "mdo", "display_login": "mdo", "gravatar_id": "", "url": "https://api.github.com/users/mdo", "avatar_url": "https://avatars.githubusercontent.com/u/98681?" }, "repo": { "id": 2126244, "name": "twbs/bootstrap", "url": "https://api.github.com/repos/twbs/bootstrap" }, "payload": { "action": "labeled", "number": 42361, "pull_request": { "url": "https://api.github.com/repos/twbs/bootstrap/pulls/42361", "id": 3580236091, "number": 42361, "head": { "ref": "dev/coliff/cheatsheet-example-fixes", "sha": "e9d76e2d8865b804b1e14511b124cd29935636af", "repo": { "id": 1141528930, "url": "https://api.github.com/repos/coliff/bootstrap", "name": "bootstrap" } }, "base": { "ref": "v6-dev", "sha": "b193830526399d56eed9c8d798fd7ecb5ecf4b45", "repo": { "id": 2126244, "url": "https://api.github.com/repos/twbs/bootstrap", "name": "bootstrap" } } }, "label": { "id": 1725235071, "node_id": "MDU6TGFiZWwxNzI1MjM1MDcx", "url": "https://api.github.com/repos/twbs/bootstrap/labels/v6", "name": "v6", "color": "b213d6", "default": false, "description": "" }, "labels": [ { "id": 52382818, "node_id": "MDU6TGFiZWw1MjM4MjgxOA==", "url": "https://api.github.com/repos/twbs/bootstrap/labels/examples", "name": "examples", "color": "005299", "default": false, "description": null }, { "id": 1725235071, "node_id": "MDU6TGFiZWwxNzI1MjM1MDcx", "url": "https://api.github.com/repos/twbs/bootstrap/labels/v6", "name": "v6", "color": "b213d6", "default": false, "description": "" } ] }, "public": true, "created_at": "2026-04-25T06:54:23Z", "org": { "id": 2918581, "login": "twbs", "gravatar_id": "", "url": "https://api.github.com/orgs/twbs", "avatar_url": "https://avatars.githubusercontent.com/u/2918581?" } }, { "id": "8791096519", "type": "PullRequestEvent", "actor": { "id": 98681, "login": "mdo", "display_login": "mdo", "gravatar_id": "", "url": "https://api.github.com/users/mdo", "avatar_url": "https://avatars.githubusercontent.com/u/98681?" }, "repo": { "id": 2126244, "name": "twbs/bootstrap", "url": "https://api.github.com/repos/twbs/bootstrap" }, "payload": { "action": "labeled", "number": 42361, "pull_request": { "url": "https://api.github.com/repos/twbs/bootstrap/pulls/42361", "id": 3580236091, "number": 42361, "head": { "ref": "dev/coliff/cheatsheet-example-fixes", "sha": "e9d76e2d8865b804b1e14511b124cd29935636af", "repo": { "id": 1141528930, "url": "https://api.github.com/repos/coliff/bootstrap", "name": "bootstrap" } }, "base": { "ref": "v6-dev", "sha": "b193830526399d56eed9c8d798fd7ecb5ecf4b45", "repo": { "id": 2126244, "url": "https://api.github.com/repos/twbs/bootstrap", "name": "bootstrap" } } }, "label": { "id": 1725235071, "node_id": "MDU6TGFiZWwxNzI1MjM1MDcx", "url": "https://api.github.com/repos/twbs/bootstrap/labels/v6", "name": "v6", "color": "b213d6", "default": false, "description": "" }, "labels": [ { "id": 52382818, "node_id": "MDU6TGFiZWw1MjM4MjgxOA==", "url": "https://api.github.com/repos/twbs/bootstrap/labels/examples", "name": "examples", "color": "005299", "default": false, "description": null }, { "id": 1725235071, "node_id": "MDU6TGFiZWwxNzI1MjM1MDcx", "url": "https://api.github.com/repos/twbs/bootstrap/labels/v6", "name": "v6", "color": "b213d6", "default": false, "description": "" } ] }, "public": true, "created_at": "2026-04-25T06:54:23Z", "org": { "id": 2918581, "login": "twbs", "gravatar_id": "", "url": "https://api.github.com/orgs/twbs", "avatar_url": "https://avatars.githubusercontent.com/u/2918581?" } }, { "id": "8788189942", "type": "PullRequestEvent", "actor": { "id": 98681, "login": "mdo", "display_login": "mdo", "gravatar_id": "", "url": "https://api.github.com/users/mdo", "avatar_url": "https://avatars.githubusercontent.com/u/98681?" }, "repo": { "id": 2126244, "name": "twbs/bootstrap", "url": "https://api.github.com/repos/twbs/bootstrap" }, "payload": { "action": "labeled", "number": 42360, "pull_request": { "url": "https://api.github.com/repos/twbs/bootstrap/pulls/42360", "id": 3580101843, "number": 42360, "head": { "ref": "docs/tooltip-popover-opt-in-explanation", "sha": "b9651e27ff6ef5ad49620113c799b07321171dc7", "repo": { "id": 1220124193, "url": "https://api.github.com/repos/pierluigilenoci/bootstrap", "name": "bootstrap" } }, "base": { "ref": "main", "sha": "41ceb03f5ea2032e09387ed68aef4b66ef901fec", "repo": { "id": 2126244, "url": "https://api.github.com/repos/twbs/bootstrap", "name": "bootstrap" } } }, "label": { "id": 1069712305, "node_id": "MDU6TGFiZWwxMDY5NzEyMzA1", "url": "https://api.github.com/repos/twbs/bootstrap/labels/v5", "name": "v5", "color": "712cf9", "default": false, "description": "" }, "labels": [ { "id": 143597, "node_id": "MDU6TGFiZWwxNDM1OTc=", "url": "https://api.github.com/repos/twbs/bootstrap/labels/docs", "name": "docs", "color": "0d6efd", "default": false, "description": "" }, { "id": 1069712305, "node_id": "MDU6TGFiZWwxMDY5NzEyMzA1", "url": "https://api.github.com/repos/twbs/bootstrap/labels/v5", "name": "v5", "color": "712cf9", "default": false, "description": "" } ] }, "public": true, "created_at": "2026-04-24T15:52:00Z", "org": { "id": 2918581, "login": "twbs", "gravatar_id": "", "url": "https://api.github.com/orgs/twbs", "avatar_url": "https://avatars.githubusercontent.com/u/2918581?" } }, { "id": "8788189941", "type": "PullRequestEvent", "actor": { "id": 98681, "login": "mdo", "display_login": "mdo", "gravatar_id": "", "url": "https://api.github.com/users/mdo", "avatar_url": "https://avatars.githubusercontent.com/u/98681?" }, "repo": { "id": 2126244, "name": "twbs/bootstrap", "url": "https://api.github.com/repos/twbs/bootstrap" }, "payload": { "action": "labeled", "number": 42360, "pull_request": { "url": "https://api.github.com/repos/twbs/bootstrap/pulls/42360", "id": 3580101843, "number": 42360, "head": { "ref": "docs/tooltip-popover-opt-in-explanation", "sha": "b9651e27ff6ef5ad49620113c799b07321171dc7", "repo": { "id": 1220124193, "url": "https://api.github.com/repos/pierluigilenoci/bootstrap", "name": "bootstrap" } }, "base": { "ref": "main", "sha": "41ceb03f5ea2032e09387ed68aef4b66ef901fec", "repo": { "id": 2126244, "url": "https://api.github.com/repos/twbs/bootstrap", "name": "bootstrap" } } }, "label": { "id": 1069712305, "node_id": "MDU6TGFiZWwxMDY5NzEyMzA1", "url": "https://api.github.com/repos/twbs/bootstrap/labels/v5", "name": "v5", "color": "712cf9", "default": false, "description": "" }, "labels": [ { "id": 143597, "node_id": "MDU6TGFiZWwxNDM1OTc=", "url": "https://api.github.com/repos/twbs/bootstrap/labels/docs", "name": "docs", "color": "0d6efd", "default": false, "description": "" }, { "id": 1069712305, "node_id": "MDU6TGFiZWwxMDY5NzEyMzA1", "url": "https://api.github.com/repos/twbs/bootstrap/labels/v5", "name": "v5", "color": "712cf9", "default": false, "description": "" } ] }, "public": true, "created_at": "2026-04-24T15:52:00Z", "org": { "id": 2918581, "login": "twbs", "gravatar_id": "", "url": "https://api.github.com/orgs/twbs", "avatar_url": "https://avatars.githubusercontent.com/u/2918581?" } }, { "id": "11017050085", "type": "PushEvent", "actor": { "id": 98681, "login": "mdo", "display_login": "mdo", "gravatar_id": "", "url": "https://api.github.com/users/mdo", "avatar_url": "https://avatars.githubusercontent.com/u/98681?" }, "repo": { "id": 1060300773, "name": "pierrecomputer/pierre", "url": "https://api.github.com/repos/pierrecomputer/pierre" }, "payload": { "repository_id": 1060300773, "push_id": 33308707659, "ref": "refs/heads/mdo/split-docs-v2", "head": "a9bd5484b9f6a60bd6dea5f59b5a99b7ee3f2be4", "before": "420d1e5ec0c8a19a8e33535d2e09ecc6d6c0fa93" }, "public": true, "created_at": "2026-04-24T21:47:46Z", "org": { "id": 249012497, "login": "pierrecomputer", "gravatar_id": "", "url": "https://api.github.com/orgs/pierrecomputer", "avatar_url": "https://avatars.githubusercontent.com/u/249012497?" } }, { "id": "8772258565", "type": "PullRequestEvent", "actor": { "id": 98681, "login": "mdo", "display_login": "mdo", "gravatar_id": "", "url": "https://api.github.com/users/mdo", "avatar_url": "https://avatars.githubusercontent.com/u/98681?" }, "repo": { "id": 1060300773, "name": "pierrecomputer/pierre", "url": "https://api.github.com/repos/pierrecomputer/pierre" }, "payload": { "action": "closed", "number": 600, "pull_request": { "url": "https://api.github.com/repos/pierrecomputer/pierre/pulls/600", "id": 3574596320, "number": 600, "head": { "ref": "mdo/docs-split", "sha": "ee94f8aec4b22efa53e2f4f6fdec0332bd3e905a", "repo": { "id": 1060300773, "url": "https://api.github.com/repos/pierrecomputer/pierre", "name": "pierre" } }, "base": { "ref": "main", "sha": "365a54aed69e2ba2c7d59e7c9b9723f9404c940a", "repo": { "id": 1060300773, "url": "https://api.github.com/repos/pierrecomputer/pierre", "name": "pierre" } } } }, "public": true, "created_at": "2026-04-23T21:44:16Z", "org": { "id": 249012497, "login": "pierrecomputer", "gravatar_id": "", "url": "https://api.github.com/orgs/pierrecomputer", "avatar_url": "https://avatars.githubusercontent.com/u/249012497?" } }, { "id": "8772241027", "type": "IssueCommentEvent", "actor": { "id": 98681, "login": "mdo", "display_login": "mdo", "gravatar_id": "", "url": "https://api.github.com/users/mdo", "avatar_url": "https://avatars.githubusercontent.com/u/98681?" }, "repo": { "id": 1060300773, "name": "pierrecomputer/pierre", "url": "https://api.github.com/repos/pierrecomputer/pierre" }, "payload": { "action": "created", "issue": { "url": "https://api.github.com/repos/pierrecomputer/pierre/issues/604", "repository_url": "https://api.github.com/repos/pierrecomputer/pierre", "labels_url": "https://api.github.com/repos/pierrecomputer/pierre/issues/604/labels{/name}", "comments_url": "https://api.github.com/repos/pierrecomputer/pierre/issues/604/comments", "events_url": "https://api.github.com/repos/pierrecomputer/pierre/issues/604/events", "html_url": "https://github.com/pierrecomputer/pierre/pull/604", "id": 4320158341, "node_id": "PR_kwDOPzLn5c7VMH76", "number": 604, "title": "Reorganize docs into `(trees)` and `(diffs)`", "user": { "login": "mdo", "id": 98681, "node_id": "MDQ6VXNlcjk4Njgx", "avatar_url": "https://avatars.githubusercontent.com/u/98681?v=4", "gravatar_id": "", "url": "https://api.github.com/users/mdo", "html_url": "https://github.com/mdo", "followers_url": "https://api.github.com/users/mdo/followers", "following_url": "https://api.github.com/users/mdo/following{/other_user}", "gists_url": "https://api.github.com/users/mdo/gists{/gist_id}", "starred_url": "https://api.github.com/users/mdo/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/mdo/subscriptions", "organizations_url": "https://api.github.com/users/mdo/orgs", "repos_url": "https://api.github.com/users/mdo/repos", "events_url": "https://api.github.com/users/mdo/events{/privacy}", "received_events_url": "https://api.github.com/users/mdo/received_events", "type": "User", "user_view_type": "public", "site_admin": false }, "labels": [ ], "state": "open", "locked": false, "assignees": [ ], "milestone": null, "comments": 2, "created_at": "2026-04-24T02:45:41Z", "updated_at": "2026-04-24T21:48:46Z", "closed_at": null, "assignee": null, "type": null, "active_lock_reason": null, "draft": false, "pull_request": { "url": "https://api.github.com/repos/pierrecomputer/pierre/pulls/604", "html_url": "https://github.com/pierrecomputer/pierre/pull/604", "diff_url": "https://github.com/pierrecomputer/pierre/pull/604.diff", "patch_url": "https://github.com/pierrecomputer/pierre/pull/604.patch", "merged_at": null }, "body": "Replacement for #600 without splitting the docs app into two entirely separate apps. More to do still.", "reactions": { "url": "https://api.github.com/repos/pierrecomputer/pierre/issues/604/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 }, "timeline_url": "https://api.github.com/repos/pierrecomputer/pierre/issues/604/timeline", "performed_via_github_app": null, "state_reason": null }, "comment": { "url": "https://api.github.com/repos/pierrecomputer/pierre/issues/comments/4316371582", "html_url": "https://github.com/pierrecomputer/pierre/pull/604#issuecomment-4316371582", "issue_url": "https://api.github.com/repos/pierrecomputer/pierre/issues/604", "id": 4316371582, "node_id": "IC_kwDOPzLn5c8AAAABAUaafg", "user": { "login": "mdo", "id": 98681, "node_id": "MDQ6VXNlcjk4Njgx", "avatar_url": "https://avatars.githubusercontent.com/u/98681?v=4", "gravatar_id": "", "url": "https://api.github.com/users/mdo", "html_url": "https://github.com/mdo", "followers_url": "https://api.github.com/users/mdo/followers", "following_url": "https://api.github.com/users/mdo/following{/other_user}", "gists_url": "https://api.github.com/users/mdo/gists{/gist_id}", "starred_url": "https://api.github.com/users/mdo/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/mdo/subscriptions", "organizations_url": "https://api.github.com/users/mdo/orgs", "repos_url": "https://api.github.com/users/mdo/repos", "events_url": "https://api.github.com/users/mdo/events{/privacy}", "received_events_url": "https://api.github.com/users/mdo/received_events", "type": "User", "user_view_type": "public", "site_admin": false }, "created_at": "2026-04-24T21:01:29Z", "updated_at": "2026-04-24T21:01:29Z", "body": "@codex review", "reactions": { "url": "https://api.github.com/repos/pierrecomputer/pierre/issues/comments/4316371582/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 }, "performed_via_github_app": null } }, "public": true, "created_at": "2026-04-24T21:01:29Z", "org": { "id": 249012497, "login": "pierrecomputer", "gravatar_id": "", "url": "https://api.github.com/orgs/pierrecomputer", "avatar_url": "https://avatars.githubusercontent.com/u/249012497?" } }, { "id": "11015680912", "type": "PushEvent", "actor": { "id": 98681, "login": "mdo", "display_login": "mdo", "gravatar_id": "", "url": "https://api.github.com/users/mdo", "avatar_url": "https://avatars.githubusercontent.com/u/98681?" }, "repo": { "id": 1060300773, "name": "pierrecomputer/pierre", "url": "https://api.github.com/repos/pierrecomputer/pierre" }, "payload": { "repository_id": 1060300773, "push_id": 33307342092, "ref": "refs/heads/mdo/split-docs-v2", "head": "420d1e5ec0c8a19a8e33535d2e09ecc6d6c0fa93", "before": "f3b6e75d2e1d5cb110c78cf5fb1baf4678f78171" }, "public": true, "created_at": "2026-04-24T21:01:12Z", "org": { "id": 249012497, "login": "pierrecomputer", "gravatar_id": "", "url": "https://api.github.com/orgs/pierrecomputer", "avatar_url": "https://avatars.githubusercontent.com/u/249012497?" } }, { "id": "11009152038", "type": "PushEvent", "actor": { "id": 98681, "login": "mdo", "display_login": "mdo", "gravatar_id": "", "url": "https://api.github.com/users/mdo", "avatar_url": "https://avatars.githubusercontent.com/u/98681?" }, "repo": { "id": 1060300773, "name": "pierrecomputer/pierre", "url": "https://api.github.com/repos/pierrecomputer/pierre" }, "payload": { "repository_id": 1060300773, "push_id": 33300834534, "ref": "refs/heads/mdo/split-docs-v2", "head": "f3b6e75d2e1d5cb110c78cf5fb1baf4678f78171", "before": "db47220cb7fbbe0cca831aa717213f16a94337c6" }, "public": true, "created_at": "2026-04-24T17:46:11Z", "org": { "id": 249012497, "login": "pierrecomputer", "gravatar_id": "", "url": "https://api.github.com/orgs/pierrecomputer", "avatar_url": "https://avatars.githubusercontent.com/u/249012497?" } }, { "id": "11008508042", "type": "PushEvent", "actor": { "id": 98681, "login": "mdo", "display_login": "mdo", "gravatar_id": "", "url": "https://api.github.com/users/mdo", "avatar_url": "https://avatars.githubusercontent.com/u/98681?" }, "repo": { "id": 2126244, "name": "twbs/bootstrap", "url": "https://api.github.com/repos/twbs/bootstrap" }, "payload": { "repository_id": 2126244, "push_id": 33300191025, "ref": "refs/heads/v6-nav-pills-radius-scale", "head": "4c8237cb0081733972dc9ef4ad8ce652ab9bf0bd", "before": "02fb0210c450c7d1021460b0fe5751ec7ebc168c" }, "public": true, "created_at": "2026-04-24T17:28:12Z", "org": { "id": 2918581, "login": "twbs", "gravatar_id": "", "url": "https://api.github.com/orgs/twbs", "avatar_url": "https://avatars.githubusercontent.com/u/2918581?" } }, { "id": "10992049371", "type": "CreateEvent", "actor": { "id": 179065, "login": "haileys", "display_login": "haileys", "gravatar_id": "", "url": "https://api.github.com/users/haileys", "avatar_url": "https://avatars.githubusercontent.com/u/179065?" }, "repo": { "id": 327917918, "name": "haileys/linux", "url": "https://api.github.com/repos/haileys/linux" }, "payload": { "ref": "win9x-um-6.19+hostfs", "ref_type": "branch", "full_ref": "refs/heads/win9x-um-6.19+hostfs", "master_branch": "master", "description": "Linux kernel source tree", "pusher_type": "user" }, "public": true, "created_at": "2026-04-24T10:21:35Z" }, { "id": "8744501517", "type": "WatchEvent", "actor": { "id": 278895910, "login": "pyaephyoeaung1791992-commits", "display_login": "pyaephyoeaung1791992-commits", "gravatar_id": "", "url": "https://api.github.com/users/pyaephyoeaung1791992-commits", "avatar_url": "https://avatars.githubusercontent.com/u/278895910?" }, "repo": { "id": 56271164, "name": "octocat/test-repo1", "url": "https://api.github.com/repos/octocat/test-repo1" }, "payload": { "action": "started" }, "public": true, "created_at": "2026-04-24T06:35:37Z" }, { "id": "8743350986", "type": "IssueCommentEvent", "actor": { "id": 179065, "login": "haileys", "display_login": "haileys", "gravatar_id": "", "url": "https://api.github.com/users/haileys", "avatar_url": "https://avatars.githubusercontent.com/u/179065?" }, "repo": { "id": 724712, "name": "rust-lang/rust", "url": "https://api.github.com/repos/rust-lang/rust" }, "payload": { "action": "created", "issue": { "url": "https://api.github.com/repos/rust-lang/rust/issues/155707", "repository_url": "https://api.github.com/repos/rust-lang/rust", "labels_url": "https://api.github.com/repos/rust-lang/rust/issues/155707/labels{/name}", "comments_url": "https://api.github.com/repos/rust-lang/rust/issues/155707/comments", "events_url": "https://api.github.com/repos/rust-lang/rust/issues/155707/events", "html_url": "https://github.com/rust-lang/rust/pull/155707", "id": 4319595779, "node_id": "PR_kwDOAAsO6M7VKTlC", "number": 155707, "title": "Fix minor panic-unsoundness in CString::clone_into", "user": { "login": "Manishearth", "id": 1617736, "node_id": "MDQ6VXNlcjE2MTc3MzY=", "avatar_url": "https://avatars.githubusercontent.com/u/1617736?v=4", "gravatar_id": "", "url": "https://api.github.com/users/Manishearth", "html_url": "https://github.com/Manishearth", "followers_url": "https://api.github.com/users/Manishearth/followers", "following_url": "https://api.github.com/users/Manishearth/following{/other_user}", "gists_url": "https://api.github.com/users/Manishearth/gists{/gist_id}", "starred_url": "https://api.github.com/users/Manishearth/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/Manishearth/subscriptions", "organizations_url": "https://api.github.com/users/Manishearth/orgs", "repos_url": "https://api.github.com/users/Manishearth/repos", "events_url": "https://api.github.com/users/Manishearth/events{/privacy}", "received_events_url": "https://api.github.com/users/Manishearth/received_events", "type": "User", "user_view_type": "public", "site_admin": false }, "labels": [ { "id": 583437191, "node_id": "MDU6TGFiZWw1ODM0MzcxOTE=", "url": "https://api.github.com/repos/rust-lang/rust/labels/S-waiting-on-bors", "name": "S-waiting-on-bors", "color": "d3dddd", "default": false, "description": "Status: Waiting on bors to run and complete tests. Bors will change the label on completion." }, { "id": 2011781731, "node_id": "MDU6TGFiZWwyMDExNzgxNzMx", "url": "https://api.github.com/repos/rust-lang/rust/labels/T-libs", "name": "T-libs", "color": "bfd4f2", "default": false, "description": "Relevant to the library team, which will review and decide on the PR/issue." } ], "state": "open", "locked": false, "assignees": [ { "login": "Mark-Simulacrum", "id": 5047365, "node_id": "MDQ6VXNlcjUwNDczNjU=", "avatar_url": "https://avatars.githubusercontent.com/u/5047365?v=4", "gravatar_id": "", "url": "https://api.github.com/users/Mark-Simulacrum", "html_url": "https://github.com/Mark-Simulacrum", "followers_url": "https://api.github.com/users/Mark-Simulacrum/followers", "following_url": "https://api.github.com/users/Mark-Simulacrum/following{/other_user}", "gists_url": "https://api.github.com/users/Mark-Simulacrum/gists{/gist_id}", "starred_url": "https://api.github.com/users/Mark-Simulacrum/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/Mark-Simulacrum/subscriptions", "organizations_url": "https://api.github.com/users/Mark-Simulacrum/orgs", "repos_url": "https://api.github.com/users/Mark-Simulacrum/repos", "events_url": "https://api.github.com/users/Mark-Simulacrum/events{/privacy}", "received_events_url": "https://api.github.com/users/Mark-Simulacrum/received_events", "type": "User", "user_view_type": "public", "site_admin": false } ], "milestone": null, "comments": 13, "created_at": "2026-04-24T00:08:31Z", "updated_at": "2026-04-26T15:13:04Z", "closed_at": null, "assignee": { "login": "Mark-Simulacrum", "id": 5047365, "node_id": "MDQ6VXNlcjUwNDczNjU=", "avatar_url": "https://avatars.githubusercontent.com/u/5047365?v=4", "gravatar_id": "", "url": "https://api.github.com/users/Mark-Simulacrum", "html_url": "https://github.com/Mark-Simulacrum", "followers_url": "https://api.github.com/users/Mark-Simulacrum/followers", "following_url": "https://api.github.com/users/Mark-Simulacrum/following{/other_user}", "gists_url": "https://api.github.com/users/Mark-Simulacrum/gists{/gist_id}", "starred_url": "https://api.github.com/users/Mark-Simulacrum/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/Mark-Simulacrum/subscriptions", "organizations_url": "https://api.github.com/users/Mark-Simulacrum/orgs", "repos_url": "https://api.github.com/users/Mark-Simulacrum/repos", "events_url": "https://api.github.com/users/Mark-Simulacrum/events{/privacy}", "received_events_url": "https://api.github.com/users/Mark-Simulacrum/received_events", "type": "User", "user_view_type": "public", "site_admin": false }, "issue_field_values": [ ], "type": null, "active_lock_reason": null, "draft": false, "pull_request": { "url": "https://api.github.com/repos/rust-lang/rust/pulls/155707", "html_url": "https://github.com/rust-lang/rust/pull/155707", "diff_url": "https://github.com/rust-lang/rust/pull/155707.diff", "patch_url": "https://github.com/rust-lang/rust/pull/155707.patch", "merged_at": null }, "body": "\n*[View all comments](https://triagebot.infra.rust-lang.org/gh-comments/rust-lang/rust/pull/155707)*\n\n\n`CString` must always contain a null byte, calling `mem::take` on its inner allocation puts it in an invalid state (causing UB if e.g. it hits `CString::drop`) that can be observed if the allocator panics. \r\n\r\n\r\nUnfortunately, this solution allocates an intermediate 1-element `Box`. I'm not sure of a clean way to avoid that additional allocation; we could directly `realloc` if we want but it's tricky. Might be something we can do with `ManuallyDrop`.\r\n\r\nI do have a gnarly miri test for this that uses a panicky allocator, but I'm not sure where it would go. Happy to push it up if someone has a suggestion.\r\n\r\nBug discovered by Rust Foundation Security using AI. I'm just helping with the patch as a member of wg-security-response. We do not believe this bug needs embargo, it is a soundness fix for hard-to-trigger unsoundness.", "reactions": { "url": "https://api.github.com/repos/rust-lang/rust/issues/155707/reactions", "total_count": 6, "+1": 0, "-1": 0, "laugh": 2, "hooray": 0, "confused": 0, "heart": 4, "rocket": 0, "eyes": 0 }, "timeline_url": "https://api.github.com/repos/rust-lang/rust/issues/155707/timeline", "performed_via_github_app": null, "state_reason": null }, "comment": { "url": "https://api.github.com/repos/rust-lang/rust/issues/comments/4310984468", "html_url": "https://github.com/rust-lang/rust/pull/155707#issuecomment-4310984468", "issue_url": "https://api.github.com/repos/rust-lang/rust/issues/155707", "id": 4310984468, "node_id": "IC_kwDOAAsO6M8AAAABAPRnFA", "user": { "login": "haileys", "id": 179065, "node_id": "MDQ6VXNlcjE3OTA2NQ==", "avatar_url": "https://avatars.githubusercontent.com/u/179065?v=4", "gravatar_id": "", "url": "https://api.github.com/users/haileys", "html_url": "https://github.com/haileys", "followers_url": "https://api.github.com/users/haileys/followers", "following_url": "https://api.github.com/users/haileys/following{/other_user}", "gists_url": "https://api.github.com/users/haileys/gists{/gist_id}", "starred_url": "https://api.github.com/users/haileys/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/haileys/subscriptions", "organizations_url": "https://api.github.com/users/haileys/orgs", "repos_url": "https://api.github.com/users/haileys/repos", "events_url": "https://api.github.com/users/haileys/events{/privacy}", "received_events_url": "https://api.github.com/users/haileys/received_events", "type": "User", "user_view_type": "public", "site_admin": false }, "created_at": "2026-04-24T05:48:04Z", "updated_at": "2026-04-24T05:48:04Z", "body": "The Vec to boxed slice conversion must reallocate anyway (since boxed slice loses capacity information, which is necessary for freeing, `into_boxed_slice` calls `shrink_to_fit`) so if the lengths aren't equal why not fall back to the unspecialised path? It results in the same number of allocations and the logic is easier to understand", "reactions": { "url": "https://api.github.com/repos/rust-lang/rust/issues/comments/4310984468/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 }, "performed_via_github_app": null } }, "public": true, "created_at": "2026-04-24T05:48:04Z", "org": { "id": 5430905, "login": "rust-lang", "gravatar_id": "", "url": "https://api.github.com/orgs/rust-lang", "avatar_url": "https://avatars.githubusercontent.com/u/5430905?" } }, { "id": "8739780737", "type": "PullRequestEvent", "actor": { "id": 98681, "login": "mdo", "display_login": "mdo", "gravatar_id": "", "url": "https://api.github.com/users/mdo", "avatar_url": "https://avatars.githubusercontent.com/u/98681?" }, "repo": { "id": 1060300773, "name": "pierrecomputer/pierre", "url": "https://api.github.com/repos/pierrecomputer/pierre" }, "payload": { "action": "opened", "number": 604, "pull_request": { "url": "https://api.github.com/repos/pierrecomputer/pierre/pulls/604", "id": 3576725242, "number": 604, "head": { "ref": "mdo/split-docs-v2", "sha": "a9bd5484b9f6a60bd6dea5f59b5a99b7ee3f2be4", "repo": { "id": 1060300773, "url": "https://api.github.com/repos/pierrecomputer/pierre", "name": "pierre" } }, "base": { "ref": "main", "sha": "b1740cf0258d675894df9817ef111dce502d7813", "repo": { "id": 1060300773, "url": "https://api.github.com/repos/pierrecomputer/pierre", "name": "pierre" } } } }, "public": true, "created_at": "2026-04-24T02:45:41Z", "org": { "id": 249012497, "login": "pierrecomputer", "gravatar_id": "", "url": "https://api.github.com/orgs/pierrecomputer", "avatar_url": "https://avatars.githubusercontent.com/u/249012497?" } }, { "id": "8735532418", "type": "IssueCommentEvent", "actor": { "id": 98681, "login": "mdo", "display_login": "mdo", "gravatar_id": "", "url": "https://api.github.com/users/mdo", "avatar_url": "https://avatars.githubusercontent.com/u/98681?" }, "repo": { "id": 2126244, "name": "twbs/bootstrap", "url": "https://api.github.com/repos/twbs/bootstrap" }, "payload": { "action": "created", "issue": { "url": "https://api.github.com/repos/twbs/bootstrap/issues/42356", "repository_url": "https://api.github.com/repos/twbs/bootstrap", "labels_url": "https://api.github.com/repos/twbs/bootstrap/issues/42356/labels{/name}", "comments_url": "https://api.github.com/repos/twbs/bootstrap/issues/42356/comments", "events_url": "https://api.github.com/repos/twbs/bootstrap/issues/42356/events", "html_url": "https://github.com/twbs/bootstrap/pull/42356", "id": 4319470936, "node_id": "PR_kwDOACBxpM7VJ5lf", "number": 42356, "title": "v6: Form cleanup & new `--radius-*` tokens/classes", "user": { "login": "mdo", "id": 98681, "node_id": "MDQ6VXNlcjk4Njgx", "avatar_url": "https://avatars.githubusercontent.com/u/98681?v=4", "gravatar_id": "", "url": "https://api.github.com/users/mdo", "html_url": "https://github.com/mdo", "followers_url": "https://api.github.com/users/mdo/followers", "following_url": "https://api.github.com/users/mdo/following{/other_user}", "gists_url": "https://api.github.com/users/mdo/gists{/gist_id}", "starred_url": "https://api.github.com/users/mdo/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/mdo/subscriptions", "organizations_url": "https://api.github.com/users/mdo/orgs", "repos_url": "https://api.github.com/users/mdo/repos", "events_url": "https://api.github.com/users/mdo/events{/privacy}", "received_events_url": "https://api.github.com/users/mdo/received_events", "type": "User", "user_view_type": "public", "site_admin": false }, "labels": [ { "id": 210556, "node_id": "MDU6TGFiZWwyMTA1NTY=", "url": "https://api.github.com/repos/twbs/bootstrap/labels/css", "name": "css", "color": "6f42c1", "default": false, "description": "" }, { "id": 1725235071, "node_id": "MDU6TGFiZWwxNzI1MjM1MDcx", "url": "https://api.github.com/repos/twbs/bootstrap/labels/v6", "name": "v6", "color": "b213d6", "default": false, "description": "" } ], "state": "open", "locked": false, "assignees": [ ], "milestone": null, "comments": 1, "created_at": "2026-04-23T23:32:19Z", "updated_at": "2026-04-24T17:28:12Z", "closed_at": null, "assignee": null, "type": null, "active_lock_reason": null, "draft": false, "pull_request": { "url": "https://api.github.com/repos/twbs/bootstrap/pulls/42356", "html_url": "https://github.com/twbs/bootstrap/pull/42356", "diff_url": "https://github.com/twbs/bootstrap/pull/42356.diff", "patch_url": "https://github.com/twbs/bootstrap/pull/42356.patch", "merged_at": null }, "body": "- New border-radius tokens, `--radius-*` replace `--border-radius-*`. These now also match our spacer scale, and now go from `0-9`.\r\n- Updated nav overflow JS to work in more situations, like with our `nav-pills`\r\n- Fix disabled chip inputs reacting to pointer events.\r\n- Fix sizing of OTP and chip by removing it outright for these (some was already commented out)\r\n- Fix vertical pills with new radius tokens\r\n", "reactions": { "url": "https://api.github.com/repos/twbs/bootstrap/issues/42356/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 }, "timeline_url": "https://api.github.com/repos/twbs/bootstrap/issues/42356/timeline", "performed_via_github_app": null, "state_reason": null }, "comment": { "url": "https://api.github.com/repos/twbs/bootstrap/issues/comments/4309046738", "html_url": "https://github.com/twbs/bootstrap/pull/42356#issuecomment-4309046738", "issue_url": "https://api.github.com/repos/twbs/bootstrap/issues/42356", "id": 4309046738, "node_id": "IC_kwDOACBxpM8AAAABANbV0g", "user": { "login": "mdo", "id": 98681, "node_id": "MDQ6VXNlcjk4Njgx", "avatar_url": "https://avatars.githubusercontent.com/u/98681?v=4", "gravatar_id": "", "url": "https://api.github.com/users/mdo", "html_url": "https://github.com/mdo", "followers_url": "https://api.github.com/users/mdo/followers", "following_url": "https://api.github.com/users/mdo/following{/other_user}", "gists_url": "https://api.github.com/users/mdo/gists{/gist_id}", "starred_url": "https://api.github.com/users/mdo/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/mdo/subscriptions", "organizations_url": "https://api.github.com/users/mdo/orgs", "repos_url": "https://api.github.com/users/mdo/repos", "events_url": "https://api.github.com/users/mdo/events{/privacy}", "received_events_url": "https://api.github.com/users/mdo/received_events", "type": "User", "user_view_type": "public", "site_admin": false }, "created_at": "2026-04-23T23:32:36Z", "updated_at": "2026-04-23T23:32:36Z", "body": "This resolves the rest of the outstanding feedback from https://github.com/orgs/twbs/discussions/42337.", "reactions": { "url": "https://api.github.com/repos/twbs/bootstrap/issues/comments/4309046738/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 }, "performed_via_github_app": null } }, "public": true, "created_at": "2026-04-23T23:32:36Z", "org": { "id": 2918581, "login": "twbs", "gravatar_id": "", "url": "https://api.github.com/orgs/twbs", "avatar_url": "https://avatars.githubusercontent.com/u/2918581?" } } ]