@tiangong-ai/cli 0.0.37 → 0.0.39
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +2 -2
- package/README.md +76 -5
- package/dist/research/setup-command.js +75 -7
- package/dist/research/setup-command.js.map +1 -1
- package/dist/research/workspace/research-policy.d.ts +16 -0
- package/dist/research/workspace/research-policy.js +73 -11
- package/dist/research/workspace/research-policy.js.map +1 -1
- package/dist/research/workspace/setup-catalog.js +2 -2
- package/dist/research/workspace/setup-declarative.d.ts +108 -0
- package/dist/research/workspace/setup-declarative.js +686 -0
- package/dist/research/workspace/setup-declarative.js.map +1 -0
- package/dist/research/workspace/setup-wizard.js +7 -4
- package/dist/research/workspace/setup-wizard.js.map +1 -1
- package/dist/research/workspace/setup.d.ts +1 -0
- package/dist/research/workspace/setup.js +38 -0
- package/dist/research/workspace/setup.js.map +1 -1
- package/dist/research/workspace/storage.js +4 -0
- package/dist/research/workspace/storage.js.map +1 -1
- package/dist/research/workspace/types.d.ts +4 -0
- package/dist/research/workspace/workspace.js +12 -2
- package/dist/research/workspace/workspace.js.map +1 -1
- package/package.json +1 -1
package/AGENTS.md
CHANGED
|
@@ -17,8 +17,8 @@ checkPaths:
|
|
|
17
17
|
- .docpact/config.yaml
|
|
18
18
|
- docs/agents/**
|
|
19
19
|
- src/**
|
|
20
|
-
lastReviewedAt: 2026-08-
|
|
21
|
-
lastReviewedCommit:
|
|
20
|
+
lastReviewedAt: 2026-08-17
|
|
21
|
+
lastReviewedCommit: d14c542100d6e1efdd82798c2d92e68a5bc3bba2
|
|
22
22
|
---
|
|
23
23
|
|
|
24
24
|
# Tiangong AI CLI Contract
|
package/README.md
CHANGED
|
@@ -12,8 +12,8 @@ checkPaths:
|
|
|
12
12
|
- package.json
|
|
13
13
|
- bin/**
|
|
14
14
|
- src/**
|
|
15
|
-
lastReviewedAt: 2026-08-
|
|
16
|
-
lastReviewedCommit:
|
|
15
|
+
lastReviewedAt: 2026-08-17
|
|
16
|
+
lastReviewedCommit: d14c542100d6e1efdd82798c2d92e68a5bc3bba2
|
|
17
17
|
---
|
|
18
18
|
|
|
19
19
|
# Tiangong AI CLI
|
|
@@ -235,6 +235,72 @@ the default; global writes, network downloads, live provider checks, synthetic
|
|
|
235
235
|
document uploads, and paid agent smokes each require their applicable
|
|
236
236
|
confirmation.
|
|
237
237
|
|
|
238
|
+
### Declarative setup
|
|
239
|
+
|
|
240
|
+
For repeatable provisioning without a TTY, generate a safe workspace-local
|
|
241
|
+
template:
|
|
242
|
+
|
|
243
|
+
```bash
|
|
244
|
+
tiangong-ai research setup init \
|
|
245
|
+
--workspace /absolute/path/to/workspace --json
|
|
246
|
+
```
|
|
247
|
+
|
|
248
|
+
This no-overwrite command creates:
|
|
249
|
+
|
|
250
|
+
- `.tiangong-research/setup.yaml`: non-secret selections, settings, license
|
|
251
|
+
acceptances, agent routes, verification choices, and explicit confirmations;
|
|
252
|
+
- `.tiangong-research/setup.env.example`: credential variable names with empty
|
|
253
|
+
values; copy it to `setup.env` only when a file-based secret source is needed;
|
|
254
|
+
- `.tiangong-research/.gitignore`: excludes `setup.env`.
|
|
255
|
+
|
|
256
|
+
Review the catalog, edit `setup.yaml`, and never put a key or token in it. For a
|
|
257
|
+
file-based credential source:
|
|
258
|
+
|
|
259
|
+
```bash
|
|
260
|
+
cp .tiangong-research/setup.env.example .tiangong-research/setup.env
|
|
261
|
+
chmod 600 .tiangong-research/setup.env
|
|
262
|
+
# Edit setup.env locally; use only NAME=value entries referenced by
|
|
263
|
+
# credentialEnvironment in setup.yaml.
|
|
264
|
+
```
|
|
265
|
+
|
|
266
|
+
Then run the ordinary command:
|
|
267
|
+
|
|
268
|
+
```bash
|
|
269
|
+
tiangong-ai research setup \
|
|
270
|
+
--workspace /absolute/path/to/workspace --json
|
|
271
|
+
```
|
|
272
|
+
|
|
273
|
+
Bare setup checks only the fixed workspace-local `setup.yaml`; it never scans a
|
|
274
|
+
parent directory. When the file exists, setup is fully non-interactive and does
|
|
275
|
+
not fall back to the Wizard after a parse, schema, permission, credential, or
|
|
276
|
+
readiness failure. Use absolute `--config` and `--env-file` paths only for an
|
|
277
|
+
explicit alternative. Use `research setup wizard` to explicitly choose the
|
|
278
|
+
interactive path even when a declaration exists.
|
|
279
|
+
|
|
280
|
+
The YAML parser rejects duplicate keys, aliases, anchors, custom/unknown
|
|
281
|
+
fields, and incomplete verification. `setup.env` must be a regular non-symlink
|
|
282
|
+
file, no larger than 64 KiB, owner-only on POSIX, and may contain only referenced
|
|
283
|
+
variable names. It is read as literal data without shell expansion. A differing
|
|
284
|
+
value in the ambient environment and `setup.env` is an error; setup never
|
|
285
|
+
chooses between them silently. Secret values are imported into the existing
|
|
286
|
+
owner-only logical stores before downloads and never enter the YAML, immutable
|
|
287
|
+
plan, declaration binding, output, report, or journal.
|
|
288
|
+
|
|
289
|
+
The semantic YAML hash is bound to the immutable plan. Re-running unchanged
|
|
290
|
+
configuration reuses that exact plan and reruns all verification. A changed
|
|
291
|
+
declaration stops until the owner reviews it and sets
|
|
292
|
+
`replaceExistingPlan: true`; the prior plan and declaration binding are archived
|
|
293
|
+
before replacement.
|
|
294
|
+
|
|
295
|
+
Declarative setup requires live provider checks and the independent reviewer
|
|
296
|
+
CLI agent smoke, including explicit cost authorization. Interactive setup
|
|
297
|
+
recommends both by default while retaining explicit quota/cost consent. Apply,
|
|
298
|
+
status, doctor, and the Wizard return success only when
|
|
299
|
+
`overallReadiness=READY`; skipped checks, warnings, missing dependencies, and
|
|
300
|
+
optional selected-component failures remain visible as a non-zero incomplete
|
|
301
|
+
setup instead of a false success. The native producer is still not launched as
|
|
302
|
+
a child process.
|
|
303
|
+
|
|
238
304
|
If the full orchestrator was selected, accepted apply creates a separate
|
|
239
305
|
project-local `tiangong-auto-research-recovery` Skill after credentials are
|
|
240
306
|
stored and before source checkout. This CLI-generated, plan-bound shim can only
|
|
@@ -283,9 +349,14 @@ tiangong-ai research policy status top-journal-paper \
|
|
|
283
349
|
```
|
|
284
350
|
|
|
285
351
|
The Wizard resolves only the verified project-installed
|
|
286
|
-
`tiangong-auto-research` tree.
|
|
287
|
-
|
|
288
|
-
|
|
352
|
+
`tiangong-auto-research` tree. Before catalog use, the CLI parses every Markdown
|
|
353
|
+
template in every category of that exact locked tree; setup doctor performs the
|
|
354
|
+
same compatibility check before any provider live check or reviewer smoke. The
|
|
355
|
+
baseline must require the scientific-design contract, ordered early reviews,
|
|
356
|
+
and real-record construct canary, and those safeguards must remain true in the
|
|
357
|
+
resolved Policy. The Wizard then copies a baseline plus one article type, field,
|
|
358
|
+
journal class, project brief, and four reviewer rubrics. Generic defaults are
|
|
359
|
+
clearly reported and require a separate acknowledgement. An exact-journal
|
|
289
360
|
Policy additionally requires a current official HTTPS guideline URL, retrieval
|
|
290
361
|
date, and substantive human content for all journal-specific sections. Approval
|
|
291
362
|
binds the manifest and every document by SHA-256; edits, manifest tampering, or
|
|
@@ -5,6 +5,7 @@ import { stringifyJson, write } from "../io.js";
|
|
|
5
5
|
import { parseStrictArgs, strictBoolean, strictString } from "../strict-args.js";
|
|
6
6
|
import { EXTERNAL_SKILL_CONTEXT_PROFILE, EXTERNAL_SKILL_MEDIA_PROFILE, EXTERNAL_SKILL_PROFILE, } from "./workspace/external-skills.js";
|
|
7
7
|
import { inspectResearchSetupCatalog } from "./workspace/setup-catalog.js";
|
|
8
|
+
import { discoverResearchSetupDeclaration, executeResearchSetupDeclaration, initializeResearchSetupDeclaration, } from "./workspace/setup-declarative.js";
|
|
8
9
|
import { applyResearchSetupPlan, checkResearchSetupUpdates, createResearchSetupPlan, createResearchSetupUpgradePlan, doctorResearchSetup, inspectResearchSetupStatus, retryResearchSetup, runResearchSetupCompanion, setResearchSetupCredentialFromEnvironment, setResearchSetupCredentialValue, } from "./workspace/setup.js";
|
|
9
10
|
import { isObject, workspacePaths } from "./workspace/storage.js";
|
|
10
11
|
import { promptResearchSetupCredentialValue, readResearchSetupCredentialStdin, runResearchSetupWizard, } from "./workspace/setup-wizard.js";
|
|
@@ -12,8 +13,11 @@ const COMMON_OPTIONS = { help: "boolean", json: "boolean" };
|
|
|
12
13
|
const WORKSPACE_OPTIONS = { ...COMMON_OPTIONS, workspace: "string" };
|
|
13
14
|
export async function runResearchSetupCommand(argv, io) {
|
|
14
15
|
const [action, ...rest] = argv;
|
|
15
|
-
if (!action || action
|
|
16
|
-
return
|
|
16
|
+
if (!action || action.startsWith("-")) {
|
|
17
|
+
return runSetupEntry(argv, io);
|
|
18
|
+
}
|
|
19
|
+
if (action === "wizard") {
|
|
20
|
+
return runResearchSetupWizard(rest, io);
|
|
17
21
|
}
|
|
18
22
|
if (action === "--help" || action === "-h" || action === "help") {
|
|
19
23
|
write(io.stdout, researchSetupHelp());
|
|
@@ -21,6 +25,8 @@ export async function runResearchSetupCommand(argv, io) {
|
|
|
21
25
|
}
|
|
22
26
|
if (action === "catalog")
|
|
23
27
|
return runCatalog(rest, io);
|
|
28
|
+
if (action === "init")
|
|
29
|
+
return runDeclarationInit(rest, io);
|
|
24
30
|
if (action === "plan")
|
|
25
31
|
return runPlan(rest, io);
|
|
26
32
|
if (action === "apply")
|
|
@@ -46,8 +52,12 @@ export async function runResearchSetupCommand(argv, io) {
|
|
|
46
52
|
}
|
|
47
53
|
export function researchSetupHelp() {
|
|
48
54
|
return `Research setup commands:
|
|
49
|
-
tiangong-ai research setup
|
|
50
|
-
|
|
55
|
+
tiangong-ai research setup [--workspace <absolute-path>] [--config <absolute-yaml>] [--env-file <absolute-owner-only-env>] [--json]
|
|
56
|
+
Auto-runs a discovered .tiangong-research/setup.yaml declaration; otherwise starts the interactive Wizard.
|
|
57
|
+
tiangong-ai research setup wizard [--workspace <absolute-path>] [--credential-stdin <logical-id[,logical-id...]>] [--json]
|
|
58
|
+
Explicitly start the interactive, user-initiated setup Wizard (TTY required).
|
|
59
|
+
tiangong-ai research setup init [--workspace <absolute-path>] [--json]
|
|
60
|
+
Create no-overwrite setup.yaml and setup.env.example templates.
|
|
51
61
|
tiangong-ai research setup catalog [--workspace <absolute-path>] [--scope project|global] [--agents codex,claude-code] [--json]
|
|
52
62
|
tiangong-ai research setup plan --workspace <absolute-path> --mode smoke-test|production-research --evidence-profile none|brave-baseline|brave-context|brave-media [--skills <csv>] [--scope project|global] [--agents <csv>] [--accept-license <csv>] [--settings <absolute-json>] [--credential-env <absolute-json>] [--agent-routes <absolute-json>] [--confirm-network-downloads] [--confirm-global] [--live] [--allow-synthetic-unstructure-upload] [--agent-smoke --confirm-agent-smoke-cost] [--replace-plan] [--json]
|
|
53
63
|
tiangong-ai research setup apply [--plan <absolute-json>] [--workspace <absolute-path>] [--skip-doctor] [--json]
|
|
@@ -67,8 +77,66 @@ Safety defaults:
|
|
|
67
77
|
bounded stdin, or named owner environment variables; values are never printed.
|
|
68
78
|
Every selected Skill requires its displayed license id and an explicit
|
|
69
79
|
network-download confirmation; an empty smoke-test plan requires neither.
|
|
80
|
+
Declarative setup never scans parent directories. Its setup.env is optional,
|
|
81
|
+
owner-only (0600), literal, and may contain only names referenced by setup.yaml.
|
|
82
|
+
Declarative apply always runs live provider checks and independent reviewer
|
|
83
|
+
smoke; setup succeeds only when overallReadiness is READY.
|
|
70
84
|
`;
|
|
71
85
|
}
|
|
86
|
+
async function runSetupEntry(argv, io) {
|
|
87
|
+
const args = parseStrictArgs(argv, {
|
|
88
|
+
...WORKSPACE_OPTIONS,
|
|
89
|
+
config: "string",
|
|
90
|
+
"env-file": "string",
|
|
91
|
+
"credential-stdin": "string",
|
|
92
|
+
}, "research setup");
|
|
93
|
+
if (strictBoolean(args, "help"))
|
|
94
|
+
return writeSetupHelp(io);
|
|
95
|
+
rejectPositionals(args.positionals, "research setup");
|
|
96
|
+
const workspace = workspaceArgument(args);
|
|
97
|
+
const configurationPath = strictString(args, "config");
|
|
98
|
+
const environmentPath = strictString(args, "env-file");
|
|
99
|
+
const credentialStdin = strictString(args, "credential-stdin");
|
|
100
|
+
const discovered = await discoverResearchSetupDeclaration(workspace, {
|
|
101
|
+
...(configurationPath === undefined ? {} : { configurationPath }),
|
|
102
|
+
...(environmentPath === undefined ? {} : { environmentPath }),
|
|
103
|
+
});
|
|
104
|
+
if (discovered) {
|
|
105
|
+
if (credentialStdin) {
|
|
106
|
+
throw invalidSetupArgument("--credential-stdin belongs to the Wizard and cannot be combined with declarative setup.");
|
|
107
|
+
}
|
|
108
|
+
const result = await executeResearchSetupDeclaration({
|
|
109
|
+
workspace,
|
|
110
|
+
configurationPath: discovered.configurationPath,
|
|
111
|
+
...(discovered.environmentPath === null
|
|
112
|
+
? {}
|
|
113
|
+
: { environmentPath: discovered.environmentPath }),
|
|
114
|
+
environment: io.env,
|
|
115
|
+
});
|
|
116
|
+
writeSetupJson(io, result, args);
|
|
117
|
+
return result.exitCode;
|
|
118
|
+
}
|
|
119
|
+
if (configurationPath || environmentPath) {
|
|
120
|
+
throw new CliError("Declarative setup was requested but setup.yaml was not found.", {
|
|
121
|
+
code: "RESEARCH_SETUP_DECLARATION_NOT_FOUND",
|
|
122
|
+
exitCode: 2,
|
|
123
|
+
details: {
|
|
124
|
+
step: "declarative-discovery",
|
|
125
|
+
minimumAction: "Run research setup init or remove --config/--env-file to use the Wizard.",
|
|
126
|
+
},
|
|
127
|
+
});
|
|
128
|
+
}
|
|
129
|
+
return runResearchSetupWizard(argv, io);
|
|
130
|
+
}
|
|
131
|
+
async function runDeclarationInit(argv, io) {
|
|
132
|
+
const args = parseStrictArgs(argv, WORKSPACE_OPTIONS, "research setup init");
|
|
133
|
+
if (strictBoolean(args, "help"))
|
|
134
|
+
return writeSetupHelp(io);
|
|
135
|
+
rejectPositionals(args.positionals, "research setup init");
|
|
136
|
+
const result = await initializeResearchSetupDeclaration(workspaceArgument(args));
|
|
137
|
+
writeSetupJson(io, result, args);
|
|
138
|
+
return 0;
|
|
139
|
+
}
|
|
72
140
|
async function runCatalog(argv, io) {
|
|
73
141
|
const args = parseStrictArgs(argv, { ...WORKSPACE_OPTIONS, scope: "string", agents: "string" }, "research setup catalog");
|
|
74
142
|
if (strictBoolean(args, "help"))
|
|
@@ -150,7 +218,7 @@ async function runApply(argv, io) {
|
|
|
150
218
|
const root = workspaceArgument(args);
|
|
151
219
|
const result = await applyResearchSetupPlan(planPath ? resolve(planPath) : workspacePaths(root).setupPlan, { environment: io.env, skipDoctor: strictBoolean(args, "skip-doctor") });
|
|
152
220
|
writeSetupJson(io, result, args);
|
|
153
|
-
return result.state.status === "
|
|
221
|
+
return result.state.status === "ready" ? 0 : 3;
|
|
154
222
|
}
|
|
155
223
|
async function runStatus(argv, io) {
|
|
156
224
|
const args = parseStrictArgs(argv, WORKSPACE_OPTIONS, "research setup status");
|
|
@@ -159,7 +227,7 @@ async function runStatus(argv, io) {
|
|
|
159
227
|
rejectPositionals(args.positionals, "research setup status");
|
|
160
228
|
const result = await inspectResearchSetupStatus(workspaceArgument(args), io.env);
|
|
161
229
|
writeSetupJson(io, result, args);
|
|
162
|
-
return result.state.status === "
|
|
230
|
+
return result.state.status === "ready" ? 0 : 3;
|
|
163
231
|
}
|
|
164
232
|
async function runDoctor(argv, io) {
|
|
165
233
|
const args = parseStrictArgs(argv, {
|
|
@@ -192,7 +260,7 @@ async function runDoctor(argv, io) {
|
|
|
192
260
|
environment: io.env,
|
|
193
261
|
});
|
|
194
262
|
writeSetupJson(io, result, args);
|
|
195
|
-
return result.
|
|
263
|
+
return result.overallReadiness === "READY" ? 0 : 3;
|
|
196
264
|
}
|
|
197
265
|
async function runCredential(argv, io) {
|
|
198
266
|
const [action, ...rest] = argv;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup-command.js","sourceRoot":"","sources":["../../src/research/setup-command.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"setup-command.js","sourceRoot":"","sources":["../../src/research/setup-command.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,6 +16,21 @@ export interface ResearchPolicyStatus {
|
|
|
16
16
|
targetJournal: string | null;
|
|
17
17
|
guidance: string;
|
|
18
18
|
}
|
|
19
|
+
export interface ResearchPolicyPackValidation {
|
|
20
|
+
schemaVersion: 1;
|
|
21
|
+
sourceTreeSha256: string;
|
|
22
|
+
templateCount: number;
|
|
23
|
+
categories: {
|
|
24
|
+
articleTypes: string[];
|
|
25
|
+
fields: string[];
|
|
26
|
+
journalClasses: string[];
|
|
27
|
+
};
|
|
28
|
+
defaults: {
|
|
29
|
+
baseline: string;
|
|
30
|
+
reviewers: string[];
|
|
31
|
+
publicationBrief: string;
|
|
32
|
+
};
|
|
33
|
+
}
|
|
19
34
|
export declare function inspectResearchPolicyCatalog(sourceRoot: string): Promise<{
|
|
20
35
|
schemaVersion: 1;
|
|
21
36
|
sourceTreeSha256: string;
|
|
@@ -30,6 +45,7 @@ export declare function inspectResearchPolicyCatalog(sourceRoot: string): Promis
|
|
|
30
45
|
publicationBrief: string;
|
|
31
46
|
};
|
|
32
47
|
}>;
|
|
48
|
+
export declare function validateResearchPolicyPack(sourceRoot: string): Promise<ResearchPolicyPackValidation>;
|
|
33
49
|
export declare function initializeResearchPolicy(input: {
|
|
34
50
|
root: string;
|
|
35
51
|
projectId: string;
|
|
@@ -98,25 +98,78 @@ const KNOWN_CONSTRAINTS = new Map([
|
|
|
98
98
|
["requireRecallAudit", "boolean"],
|
|
99
99
|
["requireCentralDimensionsCovered", "boolean"],
|
|
100
100
|
["requireIndependentReproduction", "boolean"],
|
|
101
|
+
["requireScientificDesignContract", "boolean"],
|
|
102
|
+
["requireEarlyScientificReviews", "boolean"],
|
|
103
|
+
["requireRealRecordConstructCanary", "boolean"],
|
|
101
104
|
]);
|
|
105
|
+
const REQUIRED_TOP_JOURNAL_BOOLEAN_CONSTRAINTS = [
|
|
106
|
+
"requireScientificDesignContract",
|
|
107
|
+
"requireEarlyScientificReviews",
|
|
108
|
+
"requireRealRecordConstructCanary",
|
|
109
|
+
];
|
|
110
|
+
const POLICY_PACK_CATEGORIES = [
|
|
111
|
+
{ directory: "baseline", kind: "baseline" },
|
|
112
|
+
{ directory: "article-types", kind: "article-type" },
|
|
113
|
+
{ directory: "fields", kind: "field" },
|
|
114
|
+
{ directory: "journal-classes", kind: "journal-class" },
|
|
115
|
+
{ directory: "journals", kind: "exact-journal" },
|
|
116
|
+
{ directory: "reviewer-rubrics", kind: "reviewer-rubric" },
|
|
117
|
+
{ directory: "project", kind: "publication-brief" },
|
|
118
|
+
];
|
|
102
119
|
export async function inspectResearchPolicyCatalog(sourceRoot) {
|
|
120
|
+
const validation = await validateResearchPolicyPack(sourceRoot);
|
|
121
|
+
return {
|
|
122
|
+
schemaVersion: 1,
|
|
123
|
+
sourceTreeSha256: validation.sourceTreeSha256,
|
|
124
|
+
categories: validation.categories,
|
|
125
|
+
defaults: validation.defaults,
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
export async function validateResearchPolicyPack(sourceRoot) {
|
|
103
129
|
const root = await requirePolicySourceRoot(sourceRoot);
|
|
104
130
|
const policyRoot = policyTemplateRoot(root);
|
|
105
|
-
const
|
|
106
|
-
const
|
|
107
|
-
const
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
131
|
+
const namesByDirectory = new Map();
|
|
132
|
+
const ids = new Set();
|
|
133
|
+
const parsedDocuments = [];
|
|
134
|
+
for (const category of POLICY_PACK_CATEGORIES) {
|
|
135
|
+
const names = await markdownBasenames(join(policyRoot, category.directory));
|
|
136
|
+
if (names.length === 0) {
|
|
137
|
+
throw policyError("RESEARCH_POLICY_SOURCE_INVALID", `Policy category is empty: ${category.directory}`);
|
|
138
|
+
}
|
|
139
|
+
namesByDirectory.set(category.directory, names);
|
|
140
|
+
for (const name of names) {
|
|
141
|
+
const logicalPath = `${category.directory}/${name}.md`;
|
|
142
|
+
const parsed = await parsePolicyFile(join(policyRoot, logicalPath), false);
|
|
143
|
+
if (parsed.kind !== category.kind) {
|
|
144
|
+
throw policyError("RESEARCH_POLICY_INVALID", `Policy kind does not match its category: ${logicalPath}`);
|
|
145
|
+
}
|
|
146
|
+
if (ids.has(parsed.id)) {
|
|
147
|
+
throw policyError("RESEARCH_POLICY_INVALID", `Policy pack contains a duplicate document ID: ${parsed.id}`);
|
|
148
|
+
}
|
|
149
|
+
ids.add(parsed.id);
|
|
150
|
+
parsedDocuments.push({ ...parsed, logicalPath });
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
const baseline = parsedDocuments.find((document) => document.logicalPath === "baseline/top-journal.md");
|
|
154
|
+
if (!baseline) {
|
|
155
|
+
throw policyError("RESEARCH_POLICY_SOURCE_INVALID", "Policy pack does not contain baseline/top-journal.md.");
|
|
156
|
+
}
|
|
157
|
+
if (!parsedDocuments.some((document) => document.logicalPath === "project/publication-brief.md")) {
|
|
158
|
+
throw policyError("RESEARCH_POLICY_SOURCE_INVALID", "Policy pack does not contain project/publication-brief.md.");
|
|
159
|
+
}
|
|
160
|
+
if (!parsedDocuments.some((document) => document.logicalPath === "journals/exact-journal-template.md")) {
|
|
161
|
+
throw policyError("RESEARCH_POLICY_SOURCE_INVALID", "Policy pack does not contain journals/exact-journal-template.md.");
|
|
162
|
+
}
|
|
163
|
+
assertRequiredTopJournalConstraints(baseline.constraints, "the pinned baseline/top-journal.md template");
|
|
164
|
+
const reviewers = namesByDirectory.get("reviewer-rubrics") ?? [];
|
|
113
165
|
return {
|
|
114
166
|
schemaVersion: 1,
|
|
115
167
|
sourceTreeSha256: await hashRegularTree(root),
|
|
168
|
+
templateCount: parsedDocuments.length,
|
|
116
169
|
categories: {
|
|
117
|
-
articleTypes:
|
|
118
|
-
fields:
|
|
119
|
-
journalClasses:
|
|
170
|
+
articleTypes: namesByDirectory.get("article-types") ?? [],
|
|
171
|
+
fields: namesByDirectory.get("fields") ?? [],
|
|
172
|
+
journalClasses: namesByDirectory.get("journal-classes") ?? [],
|
|
120
173
|
},
|
|
121
174
|
defaults: {
|
|
122
175
|
baseline: "top-journal",
|
|
@@ -360,6 +413,7 @@ export async function approveResearchPolicy(rootInput, projectId, options) {
|
|
|
360
413
|
const expiresAt = new Date(Date.parse(approvedAt) + reviewAfterDays * 86_400_000).toISOString();
|
|
361
414
|
const resolvedRules = [...new Set(documents.flatMap((document) => document.rules))].sort();
|
|
362
415
|
const resolvedConstraints = mergePolicyConstraints(documents);
|
|
416
|
+
assertRequiredTopJournalConstraints(resolvedConstraints, `the resolved Policy for ${projectId}`);
|
|
363
417
|
const requiredReviewers = [
|
|
364
418
|
...new Set(documents.flatMap((document) => document.requiredReviewers)),
|
|
365
419
|
].sort();
|
|
@@ -763,6 +817,7 @@ async function loadPolicyApproval(root, projectId) {
|
|
|
763
817
|
if (sha256Text(canonicalJson(base)) !== approvalSha256) {
|
|
764
818
|
throw policyError("RESEARCH_POLICY_INVALID", "Research Policy approval hash is invalid.");
|
|
765
819
|
}
|
|
820
|
+
assertRequiredTopJournalConstraints(approval.resolvedConstraints, `the approved Policy for ${projectId}`);
|
|
766
821
|
return approval;
|
|
767
822
|
}
|
|
768
823
|
function statusResult(root, projectId, status, documents, invalidDocuments, approval, guidanceParts, conflicts = []) {
|
|
@@ -821,6 +876,13 @@ function mergePolicyConstraints(documents) {
|
|
|
821
876
|
}
|
|
822
877
|
return Object.fromEntries(Object.entries(resolved).sort(([left], [right]) => left.localeCompare(right)));
|
|
823
878
|
}
|
|
879
|
+
function assertRequiredTopJournalConstraints(constraints, context) {
|
|
880
|
+
for (const key of REQUIRED_TOP_JOURNAL_BOOLEAN_CONSTRAINTS) {
|
|
881
|
+
if (constraints[key] !== true) {
|
|
882
|
+
throw policyError("RESEARCH_POLICY_INVALID", `Top-journal Policy constraint ${key} must resolve to true in ${context}.`);
|
|
883
|
+
}
|
|
884
|
+
}
|
|
885
|
+
}
|
|
824
886
|
function policyConflicts(manifest, documents) {
|
|
825
887
|
const conflicts = [];
|
|
826
888
|
const expectedIdentity = [
|