mirror of
https://github.com/garrytan/gstack.git
synced 2026-10-04 10:26:52 +02:00
test: one owner per case id, a structural devex 0B setup rule, and correct design/gbrain actors
- plan-design-review-plan-mode was registered by two files; the PTY smoke is now plan-design-review-plan-mode-smoke, and a registry test requires one owner per case in case-sharded files. - plan-devex-finding-floor: the template's 0B narrative-confirmation question is classified as setup structurally instead of timing out a Haiku assessor. - setup-gbrain-remote: the actor accepted 'skip' on the MCP-registration question the test asserts; it now accepts that question and declines others. - design-review-plugin-handoff: the fake engine cited a file absent from the fixture repo and index.html linked a missing styles.css. Captured-question regressions with negative controls; each case passed a focused paid run.
This commit is contained in:
1 parent
8cf87d4729
commit
dfe5e733fb
10 files changed
+152
-21
No files matched your search
@@ -36,6 +36,19 @@ export function redactPublicValue(value: unknown, token: string, unsafe = () =>
|
||||
return value;
|
||||
}
|
||||
|
||||
/**
|
||||
* Path 4 remote actor: the prompt directs Step 5a registration (the contract under
|
||||
* test), so the MCP-registration question takes its register/recommended option.
|
||||
* Every other gate (privacy, artifacts repo, per-remote policy) is declined or skipped.
|
||||
*/
|
||||
export function setupGbrainRemoteAnswer(q: { question: string; header?: string; options: Array<{ label: string }> }): string {
|
||||
if (/typed tool surface|\bregister(?:s|ing)?\b[^?]*\bMCP\b|\bMCP\b[^?]*\bregist/i.test(`${q.header ?? ''}\n${q.question}`)) {
|
||||
const accept = q.options.find(o => /^(?:yes|register)\b/i.test(o.label)) ?? q.options.find(o => /\(recommended\)/i.test(o.label));
|
||||
if (accept) return accept.label;
|
||||
}
|
||||
return (q.options.find(o => /skip|decline|no thanks|local/i.test(o.label)) ?? q.options[q.options.length - 1]!).label;
|
||||
}
|
||||
|
||||
/** Retain the prior Path 4 public projection; SDK private fields are never read. */
|
||||
export function publicEvents(events: readonly unknown[]): unknown[] {
|
||||
return events.flatMap((event: any) => {
|
||||
|
||||
Reference in new issue
Block a user