Skip to content

FE-1431: Build the plugin authoring surface (cycle two) - #9348

Open
lunelson wants to merge 9 commits into
ln/fe-1505-timingfrom
ln/fe-1431-plugins
Open

FE-1431: Build the plugin authoring surface (cycle two)#9348
lunelson wants to merge 9 commits into
ln/fe-1505-timingfrom
ln/fe-1431-plugins

Conversation

@lunelson

Copy link
Copy Markdown
Contributor

🌟 What is the purpose of this PR?

Cycle two of the plugin authoring loop: both plugins and the repertoire are rewritten against the cycle-one review findings, the two key shapes that review demanded are changed (pattern slots and the precision list), and the key catalogue is declared frozen under ADR-0007 decision 9 because the cycle changed no key.

Draft: opened so the stack is visible end to end. The description is completed when the branch is tied off.

🔗 Related links

🚫 Blocked by

  • Stacks on ln/fe-1505-timing; lands after it.

🔍 What does this change?

Pattern slots scoped to failing slots with wildcard validation; alternative precision demands; repertoire teaching conditioned on plugin precision; the cycle-two content pass, review resolution, freeze, and its evidence readout; the Brunch evaluation runner kept in pruned app jobs.

Pre-Merge Checklist 🚀

🚢 Has this modified a publishable library?

This PR:

  • does not modify any publishable blocks or libraries, or modifications do not need publishing

📜 Does this require a change to the docs?

The changes in this PR:

  • are internal and do not require a docs change

@vercel

vercel Bot commented Aug 26, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
hash Ready Ready Preview Aug 26, 2026 6:34pm
petrinaut Ready Ready Preview Aug 26, 2026 6:34pm
petrinaut-docs Ready Ready Preview Aug 26, 2026 6:34pm
1 Skipped Deployment
Project Deployment Actions Updated (UTC)
hashdotdesign-tokens Ignored Ignored Preview Aug 26, 2026 6:34pm

Request Review

lunelson commented Aug 26, 2026

Copy link
Copy Markdown
Contributor Author

@cursor

cursor Bot commented Aug 26, 2026

Copy link
Copy Markdown

PR Summary

Low Risk
Changes are documentation, evaluation artifacts, rendered prompt content, and CI path copying—no auth, persistence, or production runtime logic in this diff.

Overview
Cycle-two closes the FE-1431 authoring loop: baseline evidence is reorganized (cycle-one live arms under transcripts/cycle-1/, cycle-two 4–5 at transcripts/), the read-out adds a 2026-08-26 catalogue-freeze verdict (no new keys; harness follow-ups called out), and glossary/index/strategy links track the new layout.

The rendered condition-4 teaching layer (condition-4-system.md) is rewritten to match cycle-two repertoire and SDCPN plugin cells: alternative precision demands on schema rows, pattern triggers tied to kind + unsatisfied slot, expanded lenses/techniques/movements/licenses/motifs/smells/rabbit holes/runbook close outcomes, and wording shifts from rigid quantile scripts toward value grades and deposits.

CI prune now copies libs/@hashintel/brunch-agent/evaluations for @hashintel/brunch-agent jobs and explicitly for @apps/brunch-agent so the condition-5 harness child process works in pruned app CI; unit tests assert those paths.

Reviewed by Cursor Bugbot for commit a48e4c2. Bugbot is set up for automated code reviews on this repo. Configure here.

@github-actions github-actions Bot added area/infra Relates to version control, CI, CD or IaC (area) area/libs Relates to first-party libraries/crates/packages (area) type/eng > frontend Owned by the @frontend team area/tests New or updated tests labels Aug 26, 2026
@lunelson
lunelson deployed to pull-request August 26, 2026 17:20 — with GitHub Actions Active
@lunelson
lunelson deployed to pull-request August 26, 2026 17:20 — with GitHub Actions Active
@codspeed-hq

codspeed-hq Bot commented Aug 26, 2026

Copy link
Copy Markdown

Merging this PR will not alter performance

✅ 98 untouched benchmarks


Comparing ln/fe-1431-plugins (a48e4c2) with main (a37f9ae)1

Open in CodSpeed

Footnotes

  1. No successful run was found on ln/fe-1505-timing (c191c78) during the generation of this report, so main (a37f9ae) was used instead as the comparison base. There might be some changes unrelated to this pull request in this report.

lunelson and others added 9 commits August 26, 2026 20:15
The app's condition-5 test executes the context-owned runner, so package-isolated CI must copy that non-workspace path.

Co-authored-by: Cursor <cursoragent@cursor.com>
Optional slot predicates keep kind-indexed prompts live only for the missing fact they address, while load-time checks reject predicates outside the plugin contract.

Co-authored-by: Cursor <cursoragent@cursor.com>
Reject dead predicates that no plugin kind can demand and resolve review findings in the adjacent tests.

Co-authored-by: Cursor <cursoragent@cursor.com>
One semantic slot can now accept either a numeric grade or a spelled-out structure, preserving calendars and qualitative objective rules without duplicate rows.

Co-authored-by: Cursor <cursoragent@cursor.com>
Generic quantity and observed-practice methods now render only for plugin contracts that demand compatible precision, keeping shared defaults relevant without plugin overrides.

Co-authored-by: Cursor <cursoragent@cursor.com>
Fill the ADR's missing selection and guidance, resolve the pressure-review contradictions, and make both plugin cells add specific content without repeating repertoire defaults.

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit a48e4c2. Configure here.

- **No bare why** — Never ask "why do you do it this way?" as the primary probe; experts cannot report the basis of practised judgment on demand. Ask for an occasion and for what was attended to.
- **Mean or tail** — Before eliciting any quantity, ask whether what matters is the typical case or the bad one — a mean or a tail. The answer decides whether a single figure, a range, or a spread is being asked for.
- **Quantiles, never three points** — For anything that varies, ask "typically?", then "one time in ten, worse than?", then "one time in ten, better than?". Never ask for minimum, most likely, and maximum — the three-point habit yields overconfident answers. If a min/mode/max triple arrives unprompted, ask the confidence question and record whether the middle value is a mode or a mean.
- **Quantiles, never three points** — Ask first for a lower and upper plausible value, then a typical value, then how confident the expert is that reality falls inside the interval. Never ask for minimum, most likely, and maximum — the three-point habit yields overconfident answers. Record which protocol was used rather than silently mixing interval-first and typical-first answers.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Contradictory spread elicitation guidance

Medium Severity

The rewritten Quantiles, never three points technique now teaches an interval-first plus confidence protocol, while Precision words / PRECISION_LADDER still defines spread as typical plus one-in-ten tails. The interviewer is given two incompatible accounts of the same demanded grade, so spread elicitation and labeling can diverge from what completion expects.

Additional Locations (1)
Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit a48e4c2. Configure here.

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

Labels

area/infra Relates to version control, CI, CD or IaC (area) area/libs Relates to first-party libraries/crates/packages (area) area/tests New or updated tests type/eng > frontend Owned by the @frontend team

Development

Successfully merging this pull request may close these issues.

1 participant