madeby 0.3.11 → 0.3.12
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/dist/madeby.mjs +30 -14
- package/package.json +1 -1
package/dist/madeby.mjs
CHANGED
|
@@ -2529,7 +2529,7 @@ madeby init \u2014 policy: ${r.policyMode}${r.recordModel ? " + records model" :
|
|
|
2529
2529
|
import { execFileSync as execFileSync6 } from "node:child_process";
|
|
2530
2530
|
import { createInterface } from "node:readline";
|
|
2531
2531
|
var DEFAULT_PROTOCOL = "2024-11-05";
|
|
2532
|
-
var SERVER_INFO = { name: "madeby", version: "0.3.
|
|
2532
|
+
var SERVER_INFO = { name: "madeby", version: "0.3.12" };
|
|
2533
2533
|
function rootFor(path) {
|
|
2534
2534
|
const cwd = path && path.length ? path : process.cwd();
|
|
2535
2535
|
return execFileSync6("git", ["-C", cwd, "-c", "core.quotePath=false", "rev-parse", "--show-toplevel"], { encoding: "utf8" }).trim();
|
|
@@ -2640,14 +2640,19 @@ var ALIGN_GUIDE = `# Aligning a repository with MadeBy
|
|
|
2640
2640
|
MadeBy is **disclosure, not detection** \u2014 it records what a commit *states* about its origin, never
|
|
2641
2641
|
guesses whether code is AI. To align a repo:
|
|
2642
2642
|
|
|
2643
|
-
1. **Assess** \u2014 call \`
|
|
2644
|
-
|
|
2645
|
-
|
|
2646
|
-
|
|
2647
|
-
|
|
2648
|
-
|
|
2649
|
-
|
|
2650
|
-
|
|
2643
|
+
1. **Assess** \u2014 call \`coverage\` for the scoreboard (known vs unknown, the human / with_ai / ai mix, and
|
|
2644
|
+
the agents and model versions named), \`check\` for the gate's verdict, or \`who\` with no path for a
|
|
2645
|
+
repo-wide map.
|
|
2646
|
+
2. **Set up** \u2014 call \`init\`: it writes \`.madeby/policy.json\` (advisory), the AGENTS.md disclosure rule,
|
|
2647
|
+
and the CI disclosure check (\`host: "azure-devops"\` for Azure Pipelines). Idempotent; it never
|
|
2648
|
+
clobbers an existing policy or workflow (\`mode: "required"\` only ever raises an advisory policy to
|
|
2649
|
+
required). Add \`record_model: true\` if the repo should also record which model version did the work
|
|
2650
|
+
(opt-in; a project's choice). Then commit the created files.
|
|
2651
|
+
3. **Disclose going forward** \u2014 contributors disclose origin with an \`Authored-by-ai\` trailer (an AI
|
|
2652
|
+
wrote it; \`madeby ai\` adds it), \`Authored-by-human\` plus \`Assisted-by\` (a human wrote it with AI;
|
|
2653
|
+
\`madeby me --with-ai\`), \`Authored-by-human\` alone (\`madeby me\`), a Co-Authored-By / Generated-by AI
|
|
2654
|
+
trailer, a DCO Signed-off-by, a signed commit, or witnessed spans from an AI session log
|
|
2655
|
+
(\`madeby ai --witness\`). Human and AI disclosure ride the same ladder.
|
|
2651
2656
|
4. **Account for existing history honestly** \u2014 do NOT fabricate disclosure for past commits. Read the
|
|
2652
2657
|
\`madeby://guide/backfill\` resource: recognize what's already disclosed, attach recoverable
|
|
2653
2658
|
evidence, and set an adoption boundary \u2014 pre-boundary history is labeled *unknown*, never invented.
|
|
@@ -2727,7 +2732,8 @@ var POLICY_SCHEMA = {
|
|
|
2727
2732
|
properties: {
|
|
2728
2733
|
version: { const: 0 },
|
|
2729
2734
|
mode: { enum: ["advisory", "required"], description: "advisory: report only (the default, and the safe degrade); required: fail on any undisclosed commit" },
|
|
2730
|
-
accept: { type: "array", items: { type: "string" }, description: "restrict what satisfies the policy (e.g. dco-signoff, ai-trailer, commit-signature); omit \u21D2 any recognized disclosure counts" }
|
|
2735
|
+
accept: { type: "array", items: { type: "string" }, description: "restrict what satisfies the policy (e.g. dco-signoff, ai-trailer, commit-signature); omit \u21D2 any recognized disclosure counts" },
|
|
2736
|
+
recordModel: { type: "boolean", description: "ask AI disclosures to name the model version too (tool:model, e.g. Assisted-by: Cursor:gpt-5.3-codex); madeby reads it from the tool's own session record where it can. Set by init --record-model. A request, not a gate" }
|
|
2731
2737
|
}
|
|
2732
2738
|
};
|
|
2733
2739
|
var ACO_GUIDE = `# ACO \u2014 the Authorship Certificate of Origin
|
|
@@ -2743,12 +2749,22 @@ https://github.com/MadeByFYI/MadeBy/blob/main/ACO.md
|
|
|
2743
2749
|
- **ai** \u2014 an AI agent authored it (a human remains accountable).
|
|
2744
2750
|
|
|
2745
2751
|
## How an agent discloses its OWN work (asserted tier, no keys)
|
|
2746
|
-
-
|
|
2747
|
-
|
|
2752
|
+
- After you commit, call **disclose** with the honest \`category\` and your \`tool\` name (e.g. "Claude Code"):
|
|
2753
|
+
- \`ai\`: you wrote it; the committer stays accountable. Adds \`Authored-by-ai: <tool>\`.
|
|
2754
|
+
- \`with_ai\`: a human wrote it with your help. Adds \`Authored-by-human\` + \`Assisted-by: <tool>\`.
|
|
2755
|
+
- \`human\`: a human wrote it alone. Adds \`Authored-by-human\`.
|
|
2756
|
+
If you wrote the code and a human is only committing it, that is \`ai\`, not \`with_ai\`.
|
|
2757
|
+
- **The model version.** If the repo's \`.madeby/policy.json\` has \`"recordModel": true\`, madeby reads your
|
|
2758
|
+
model from the tool's own record of the session (Cursor, Copilot CLI, Claude Code) and writes
|
|
2759
|
+
\`<tool>:<model>\`. Elsewhere pass \`model\` only if you know your exact model version. Never guess.
|
|
2760
|
+
- **If your platform makes or rebuilds the commit** (a cloud coding agent that pushes through its own
|
|
2761
|
+
tool), a trailer amended in afterwards can be lost. Call disclose with \`print: true\` to get the trailer
|
|
2762
|
+
lines instead, and put them in the commit message's last paragraph.
|
|
2748
2763
|
- Fully AI-authored spans recoverable from your session log -> call **ai** (records structurally-verified
|
|
2749
2764
|
spans, local-only).
|
|
2750
|
-
- Read what's already disclosed -> **who
|
|
2751
|
-
ACO convention so any agent
|
|
2765
|
+
- Read what's already disclosed -> **who**; measure a repo -> **coverage** (also lists the agents and
|
|
2766
|
+
models named). Align a whole repo -> **init** (also scaffolds an AGENTS.md ACO convention so any agent
|
|
2767
|
+
working there discloses).
|
|
2752
2768
|
|
|
2753
2769
|
Disclose per commit, honestly. Undisclosed content stays *unknown*, never guessed.
|
|
2754
2770
|
`;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "madeby",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.12",
|
|
4
4
|
"mcpName": "io.github.MadeByFYI/madeby",
|
|
5
5
|
"description": "Disclose AI authorship of code. `npx madeby ai` adds an Authored-by-ai git trailer; AI coding agents disclose per the ACO standard (human/with_ai/ai) from an AGENTS.md convention. Disclosure, not detection. Gate PRs with `madeby check`.",
|
|
6
6
|
"license": "MIT",
|