Skip to content

Commit 36e2316

Browse files
committed
fix(docs): don't flag delete-then-recreated trigger pages in check mode
1 parent df769e7 commit 36e2316

1 file changed

Lines changed: 18 additions & 4 deletions

File tree

scripts/generate-docs.ts

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -380,6 +380,16 @@ let CHECK_ONLY = false
380380
const staleArtifacts: string[] = []
381381
const emittedByPath = new Map<string, string>()
382382

383+
/**
384+
* Deletion candidates recorded by cleanup in check mode. Judged at the end of
385+
* the run, not at cleanup time: generate mode deletes a non-canonical page and
386+
* lets the trigger pass recreate it in the same run, so a candidate that was
387+
* re-emitted this run is that delete-then-recreate dance — content drift (if
388+
* any) is already covered by the overlay comparison — while a candidate nothing
389+
* re-emitted is a genuinely stale page regeneration would remove.
390+
*/
391+
const wouldDeletePaths: string[] = []
392+
383393
/** Writes a generated artifact, or in check mode records its final content for the end-of-run comparison. */
384394
function emitGeneratedFile(filePath: string, content: string): void {
385395
if (CHECK_ONLY) {
@@ -3355,9 +3365,7 @@ function cleanupStaleToolDocs(validToolDocs: Set<string>): void {
33553365
}
33563366

33573367
if (CHECK_ONLY) {
3358-
staleArtifacts.push(
3359-
`${path.relative(rootDir, docPath)} (stale page — regeneration would delete it)`
3360-
)
3368+
wouldDeletePaths.push(docPath)
33613369
continue
33623370
}
33633371

@@ -3997,7 +4005,13 @@ if (import.meta.main) {
39974005
process.exit(1)
39984006
}
39994007
if (CHECK_ONLY) {
4000-
const stale = [...collectStaleEmissions(), ...staleArtifacts]
4008+
const genuinelyDeleted = wouldDeletePaths
4009+
.filter((docPath) => !emittedByPath.has(docPath))
4010+
.map(
4011+
(docPath) =>
4012+
`${path.relative(rootDir, docPath)} (stale page — regeneration would delete it)`
4013+
)
4014+
const stale = [...collectStaleEmissions(), ...staleArtifacts, ...genuinelyDeleted]
40014015
if (stale.length > 0) {
40024016
console.error(
40034017
`Generated integration docs are stale:\n- ${stale.join('\n- ')}\n` +

0 commit comments

Comments
 (0)