mirror of
https://github.com/garrytan/gstack.git
synced 2026-09-21 04:10:47 +02:00
feat(gstack2): infer execution profiles
This commit is contained in:
@@ -5,6 +5,7 @@ import * as path from 'path';
|
||||
import { BUG_FIX_OVERLAYS, overlaysForSource } from './bug-fix-overlays';
|
||||
import { renderBrowserProviderContract } from './browser-provider-contract';
|
||||
import { EXECUTION_RESULT_SCHEMA } from '../../runtime/execution-result.js';
|
||||
import { renderExecutionProfiles } from './execution-profiles';
|
||||
import { contractFor, DISPATCHERS, SOURCE_ASSIGNMENTS } from './assignments';
|
||||
import { SCENARIOS } from './scenarios';
|
||||
import { runDeterministicSemanticParity } from './semantic-parity';
|
||||
@@ -221,7 +222,7 @@ Before any substantive output, print these exact labels in this exact order. Res
|
||||
\`\`\`text
|
||||
Target: <concrete repository, product, URL, device, PR, or artifact>
|
||||
Mode: <selected top-level mode>
|
||||
Depth: <quick, standard, or deep>
|
||||
Depth: <readiness, standard, or deep>
|
||||
Mutation: <report-only or exact authorized mutation boundary>
|
||||
Active modules: <comma-separated internal specialist modules>
|
||||
Skipped modules: <comma-separated non-active mandatory modules with compact reasons>
|
||||
@@ -233,7 +234,7 @@ Web context: <none, optional, local-browser, or production>
|
||||
1. Infer the mode from product stage, surface, requested artifact, mutation authorization, evidence needs, and deployment state. Do not route by keyword alone.
|
||||
2. Refine the public mode to the smallest applicable internal specialist set, then print the required execution header before any substantive output.
|
||||
3. Read each active module in full from the path shown in the mode/alias tables. Its specialist body, behavioral contract, STOP gates, and appended upstream judgment ports are binding. Read a lazy specialist phase in full only when the workflow reaches its package-local reference.
|
||||
4. Read \`references/SHARED-JUDGMENT.md\` and \`references/AUTHORITY-POLICY.md\` for every invocation. Read \`references/RUNTIME.md\` before capability-dependent work and \`references/WEB-CONTEXT.md\` before public-web work.
|
||||
4. Read \`references/EXECUTION-PROFILES.md\`, \`references/SHARED-JUDGMENT.md\`, and \`references/AUTHORITY-POLICY.md\` for every invocation. Infer Depth from structured operating conditions, then obey its mandatory modules, legal skips, artifacts, and claim limits. Read \`references/RUNTIME.md\` before capability-dependent work and \`references/WEB-CONTEXT.md\` before public-web work.
|
||||
5. If an old asset path is unavailable, use \`references/ASSETS.md\`. If legacy prose invokes another retired skill, resolve it through \`references/COMPATIBILITY.md\` and stay inside these six dispatchers.
|
||||
6. Preserve report-only versus mutation boundaries. Missing mutation authorization fails closed: do not edit merely because a specialist can fix. Commits, pushes, PRs, merges, deploys, messages, and other external mutations still require affirmative authority from the user.
|
||||
7. Match the user's language. Keep code identifiers, commands, and source quotations original when translation would reduce accuracy.
|
||||
@@ -567,6 +568,7 @@ function writeSharedContracts(): void {
|
||||
const bootstrap = fs.readFileSync(path.join(ROOT, 'runtime', 'runtime-bootstrap.mjs'));
|
||||
const browserSmoke = fs.readFileSync(path.join(ROOT, 'runtime', 'browser-provider-smoke.mjs'));
|
||||
for (const tree of TREE_NAMES) {
|
||||
write(path.join(ROOT, 'skills', tree, 'references', 'EXECUTION-PROFILES.md'), `${GENERATED}\n${renderExecutionProfiles()}`);
|
||||
write(path.join(ROOT, 'skills', tree, 'references', 'SHARED-JUDGMENT.md'), sharedJudgmentContract());
|
||||
write(path.join(ROOT, 'skills', tree, 'references', 'AUTHORITY-POLICY.md'), authorityPolicyContract());
|
||||
write(path.join(ROOT, 'skills', tree, 'references', 'WEB-CONTEXT.md'), webContextContract());
|
||||
|
||||
Reference in New Issue
Block a user