From 5193f75a492c81136757cd3d8711dcc8a6ca34bb Mon Sep 17 00:00:00 2001 From: The Architect Date: Sun, 8 Nov 2026 03:06:05 +0000 Subject: [PATCH 1/4] NOTICE: the copyright holder is The Ingestron Authors The README no longer names a maker. Licensing is unchanged: Apache-2.0. Signed-off-by: The Architect --- NOTICE | 2 +- README.md | 2 +- scripts/licence-fields.test.mjs | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/NOTICE b/NOTICE index 383b0c3..724010c 100644 --- a/NOTICE +++ b/NOTICE @@ -1,5 +1,5 @@ Ingestron -Copyright 2026 Otrera Limited, trading as IntentLabs +Copyright 2026 The Ingestron Authors This product is licensed under the Apache License, Version 2.0 (see LICENSE). diff --git a/README.md b/README.md index 6743004..65071bf 100644 --- a/README.md +++ b/README.md @@ -26,4 +26,4 @@ Questions and feedback: hello@ingestron.io. Security reports: security@ingestron Licensed under the [Apache License 2.0](LICENSE); see [NOTICE](NOTICE). The fonts in `public/fonts/` are under the SIL Open Font License 1.1, with their -licence texts beside them. Made by [IntentLabs](https://intentlabs.dev). +licence texts beside them. diff --git a/scripts/licence-fields.test.mjs b/scripts/licence-fields.test.mjs index 87b97e3..c429fc1 100644 --- a/scripts/licence-fields.test.mjs +++ b/scripts/licence-fields.test.mjs @@ -32,5 +32,5 @@ test("LICENSE is the Apache License 2.0", () => { }); test("NOTICE names the copyright holder", () => { - assert.match(read("NOTICE"), /Copyright 2026 Otrera Limited, trading as IntentLabs/); + assert.match(read("NOTICE"), /Copyright 2026 The Ingestron Authors/); }); From 4aff900c9ad7a9c6ccb1ea46878e7b14002ef57e Mon Sep 17 00:00:00 2001 From: The Architect Date: Sun, 8 Nov 2026 03:16:52 +0000 Subject: [PATCH 2/4] DCO tests: use the project address in the fixtures The fixtures named a different address. They now use hello@ingestron.io, which is the address commits carry. Signed-off-by: The Architect --- scripts/check-dco.test.mjs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/scripts/check-dco.test.mjs b/scripts/check-dco.test.mjs index 0d703e6..52de3a5 100644 --- a/scripts/check-dco.test.mjs +++ b/scripts/check-dco.test.mjs @@ -4,16 +4,16 @@ import test from "node:test"; import { unsignedCommits } from "./check-dco.mjs"; -const author = { author: "The Architect", email: "contact@intentlabs.dev", parents: 1 }; +const author = { author: "The Architect", email: "hello@ingestron.io", parents: 1 }; const commit = (sha, message, extra = {}) => ({ sha, message, ...author, ...extra }); test("accepts a sign-off that matches the author", () => { - const message = "feat: x\n\nSigned-off-by: The Architect \n"; + const message = "feat: x\n\nSigned-off-by: The Architect \n"; assert.deepEqual(unsignedCommits([commit("a1", message)]), []); }); test("ignores the case of the trailer and trailing spaces", () => { - const message = "feat: x\n\nsigned-off-by: The Architect \n"; + const message = "feat: x\n\nsigned-off-by: The Architect \n"; assert.deepEqual(unsignedCommits([commit("a2", message)]), []); }); @@ -23,7 +23,7 @@ test("rejects a sign-off by someone other than the author", () => { }); test("does not count Co-authored-by as a sign-off", () => { - const message = "feat: x\n\nCo-authored-by: The Architect \n"; + const message = "feat: x\n\nCo-authored-by: The Architect \n"; assert.deepEqual(unsignedCommits([commit("a4", message)]), ["a4"]); }); From 7a67906023a8d086000da18099f65f8d9d9d6da7 Mon Sep 17 00:00:00 2001 From: The Architect Date: Sun, 8 Nov 2026 03:16:41 +0000 Subject: [PATCH 3/4] Docs test: a project starts its first window on the day it is created The standard's start date is rewritten by init to the creation day, so the test compares the standard without it. It failed from 7 November 2026. Signed-off-by: The Architect --- test/standards-and-teams.test.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/test/standards-and-teams.test.ts b/test/standards-and-teams.test.ts index e2063b6..53bf22e 100644 --- a/test/standards-and-teams.test.ts +++ b/test/standards-and-teams.test.ts @@ -158,9 +158,11 @@ describe("how-to/configure-a-standard", () => { const name = init.split(" ")[2]!; const copied = readFileSync(join(cwd, name, "standard.yaml"), "utf8"); // The standard, after a first line naming where it came from; init writes it back as - // YAML, so only its formatting may differ. + // YAML, so only its formatting may differ, and each method's first window, which starts + // on the day the project is created. expect(copied.split("\n")[0]).toBe(`# From ${path}`); - expect(parse(copied)).toEqual(parse(standard)); + const withoutStart = (yaml: string) => parse(yaml.replace(/^(\s*start: ).+$/gm, "$1")); + expect(withoutStart(copied)).toEqual(withoutStart(standard)); expect(start).toContain(`\`${name}/standard.yaml\` starts with \`# From ${path}\``); }); }); From e66420a0ef93c83a9e2083b4e905e28baf3032f2 Mon Sep 17 00:00:00 2001 From: The Architect Date: Sun, 8 Nov 2026 03:26:21 +0000 Subject: [PATCH 4/4] Docs test: allow the guides' command runs 30 seconds Each test runs the command line against a copy of a sample. One passed in 5.3 seconds on the CI runner against a 5 second limit, and timed out. The connector pages' tests already allow 30 seconds for the same reason. Signed-off-by: The Architect --- test/standards-and-teams.test.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/test/standards-and-teams.test.ts b/test/standards-and-teams.test.ts index 53bf22e..e729e8a 100644 --- a/test/standards-and-teams.test.ts +++ b/test/standards-and-teams.test.ts @@ -9,11 +9,14 @@ import { join } from "node:path"; import { run } from "@ingestron/cli"; import { createElement } from "react"; import { renderToStaticMarkup } from "react-dom/server"; -import { describe, expect, it } from "vitest"; +import { describe, expect, it, vi } from "vitest"; import { parse } from "yaml"; import { PackNaming } from "../components/reference/pack-defaults"; import { exampleFolder, exampleRequest, requestSections } from "../lib/examples"; import { packName, packs } from "../lib/reference"; + +// Each test runs the command line against a copy of a sample, which takes seconds on a busy machine. +vi.setConfig({ testTimeout: 30_000 }); import { cli, command,