@abloh/core 1.0.2-staging.34894792218 → 1.0.2-staging.34908219256
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/index.d.ts +59 -1
- package/dist/index.js +59 -0
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -7762,6 +7762,29 @@ type InitAbortLockfileCombination = "generated" | "not-generated";
|
|
|
7762
7762
|
* confirmed the files, keeping the bytes first so the set lands whole or not at all. This family is
|
|
7763
7763
|
* that put-back failing.
|
|
7764
7764
|
*/
|
|
7765
|
+
/**
|
|
7766
|
+
* A FILE `abloh init` WROTE THAT THE PLAN IS MADE OF, AND THIS REPOSITORY IGNORES.
|
|
7767
|
+
*
|
|
7768
|
+
* `abloh.yml`, `.abloh/setup.sh` and abloh's own workflow are read out of a pull request's MERGE
|
|
7769
|
+
* BASE, so a repository whose ignore rules keep one out of the commit has no setup at all - which
|
|
7770
|
+
* `angular-ui/ui-router` met as a warning at init time and a refusal on its next run, naming a file
|
|
7771
|
+
* init had just reported writing (round 5 v3, D3). A GENERATED SUPPORT FILE is the other half of
|
|
7772
|
+
* the same reading and is deliberately not here: it stays on disk uncommitted and is named once.
|
|
7773
|
+
*/
|
|
7774
|
+
interface InitIgnoredContract {
|
|
7775
|
+
kind: "init-ignored-contract";
|
|
7776
|
+
/** the ignored file, repo-relative */
|
|
7777
|
+
path: string;
|
|
7778
|
+
/** any others in the same state, named so one edit can cover them */
|
|
7779
|
+
others: readonly string[];
|
|
7780
|
+
/** the single `!` line that undoes it, naming the outermost ignored ancestor */
|
|
7781
|
+
unIgnore: string;
|
|
7782
|
+
/** `<pattern> at <file>:<line>`, verbatim from git, or null where git did not say */
|
|
7783
|
+
rule: string | null;
|
|
7784
|
+
/** the ignore file to write the `!` line into, or null where git did not say */
|
|
7785
|
+
ignoreFile: string | null;
|
|
7786
|
+
}
|
|
7787
|
+
type InitIgnoredContractCombination = "named" | "unnamed";
|
|
7765
7788
|
interface InitRestore {
|
|
7766
7789
|
kind: "init-restore";
|
|
7767
7790
|
/** The file, repo-relative, or nothing where the restore succeeded. */
|
|
@@ -7999,7 +8022,7 @@ interface SetupStatement {
|
|
|
7999
8022
|
statement: "no-job-to-ride" | "trial-complete";
|
|
8000
8023
|
}
|
|
8001
8024
|
type SetupStatementCombination = SetupStatement["statement"];
|
|
8002
|
-
type SetupFacts = SetupAnswer | SetupJobReading | SetupStepPlacementFacts | SetupStepWritten | SetupCiStepsRead | SetupRideOutcome | SetupPullRequestStep | SetupToolFailure | SetupCallerJob | SetupTrialReceipt | SetupTrialContract | SetupTrialPlan | SetupReceiptProblem | SetupRewrites | SetupReportSize | SetupPrivateRegistry | SetupUnsatisfiableCheck | SetupScriptRun | InitPin | InitValidationPrepare | InitValidationLedger | InitLocalTrial | InitCommit | InitWorkspaceDraft | InitDerivedCommand | InitAbortLockfile | InitRestore | InitAbortFiles | InitAbort | InitAnswer | ManifestPin | ImageReference | NodeRuntime | SetupStatement;
|
|
8025
|
+
type SetupFacts = SetupAnswer | SetupJobReading | SetupStepPlacementFacts | SetupStepWritten | SetupCiStepsRead | SetupRideOutcome | SetupPullRequestStep | SetupToolFailure | SetupCallerJob | SetupTrialReceipt | SetupTrialContract | SetupTrialPlan | SetupReceiptProblem | SetupRewrites | SetupReportSize | SetupPrivateRegistry | SetupUnsatisfiableCheck | SetupScriptRun | InitPin | InitValidationPrepare | InitValidationLedger | InitLocalTrial | InitCommit | InitWorkspaceDraft | InitDerivedCommand | InitAbortLockfile | InitIgnoredContract | InitRestore | InitAbortFiles | InitAbort | InitAnswer | ManifestPin | ImageReference | NodeRuntime | SetupStatement;
|
|
8003
8026
|
|
|
8004
8027
|
/**
|
|
8005
8028
|
* THE THREE STATES A MEASUREMENT MAY BE IN, AND THE TWO THINGS THE THIRD ONE MAY BECOME.
|
|
@@ -10584,6 +10607,19 @@ declare const MESSAGE_MAPPINGS: {
|
|
|
10584
10607
|
};
|
|
10585
10608
|
};
|
|
10586
10609
|
};
|
|
10610
|
+
"init-ignored-contract": {
|
|
10611
|
+
select: (facts: InitIgnoredContract) => InitIgnoredContractCombination;
|
|
10612
|
+
rows: {
|
|
10613
|
+
named: (facts: InitIgnoredContract) => {
|
|
10614
|
+
kind: "message";
|
|
10615
|
+
refusal: Refusal;
|
|
10616
|
+
};
|
|
10617
|
+
unnamed: (facts: InitIgnoredContract) => {
|
|
10618
|
+
kind: "message";
|
|
10619
|
+
refusal: Refusal;
|
|
10620
|
+
};
|
|
10621
|
+
};
|
|
10622
|
+
};
|
|
10587
10623
|
"init-restore": {
|
|
10588
10624
|
select: (facts: InitRestore) => InitRestoreCombination;
|
|
10589
10625
|
rows: {
|
|
@@ -21004,6 +21040,28 @@ declare const REFUSAL_REGISTRY: {
|
|
|
21004
21040
|
* OWNED BY THE MACHINE, because the write abloh is retrying is one it has already made once. What
|
|
21005
21041
|
* the maintainer needs is the path, which is why the sentence carries it.
|
|
21006
21042
|
*/
|
|
21043
|
+
readonly "init-contract-file-ignored": {
|
|
21044
|
+
readonly factFamily: "init-ignored-contract";
|
|
21045
|
+
readonly stage: "init";
|
|
21046
|
+
readonly owner: "repository";
|
|
21047
|
+
readonly privacy: "authored";
|
|
21048
|
+
readonly destinations: readonly ("artifact" | "terminal" | "markdown" | "job-log" | "check" | "slack" | "web" | "setup-comment" | "playground")[];
|
|
21049
|
+
readonly summary: (facts: {
|
|
21050
|
+
path?: string;
|
|
21051
|
+
others?: readonly string[];
|
|
21052
|
+
rule?: string;
|
|
21053
|
+
unIgnore?: string;
|
|
21054
|
+
ignoreFile?: string;
|
|
21055
|
+
}) => string;
|
|
21056
|
+
readonly remedy: (facts: {
|
|
21057
|
+
path?: string;
|
|
21058
|
+
others?: readonly string[];
|
|
21059
|
+
rule?: string;
|
|
21060
|
+
unIgnore?: string;
|
|
21061
|
+
ignoreFile?: string;
|
|
21062
|
+
}) => RefusalRemedy;
|
|
21063
|
+
readonly evidence: readonly EvidenceSlot[];
|
|
21064
|
+
};
|
|
21007
21065
|
readonly "init-restore-failed": {
|
|
21008
21066
|
readonly factFamily: "init-restore";
|
|
21009
21067
|
readonly stage: "init";
|
package/dist/index.js
CHANGED
|
@@ -13273,6 +13273,40 @@ var REFUSAL_REGISTRY = {
|
|
|
13273
13273
|
* OWNED BY THE MACHINE, because the write abloh is retrying is one it has already made once. What
|
|
13274
13274
|
* the maintainer needs is the path, which is why the sentence carries it.
|
|
13275
13275
|
*/
|
|
13276
|
+
/*
|
|
13277
|
+
* A CONTRACT FILE THIS REPOSITORY'S OWN IGNORE RULES KEEP OUT OF THE COMMIT.
|
|
13278
|
+
*
|
|
13279
|
+
* `abloh.yml`, `.abloh/setup.sh` and abloh's own workflow ARE the plan, and a run reads them out
|
|
13280
|
+
* of a pull request's merge base - so a repository that cannot commit one has no setup, whatever
|
|
13281
|
+
* else init did. `angular-ui/ui-router` (round 5 v3, D3) got a warning here and the refusal one
|
|
13282
|
+
* run later, naming a file `abloh init` had just reported writing and telling them to run the
|
|
13283
|
+
* command they had just run.
|
|
13284
|
+
*
|
|
13285
|
+
* A GENERATED SUPPORT FILE IS THE OTHER HALF AND IS NOT THIS. The lockfile is written for the
|
|
13286
|
+
* install step to read, its value is that it is on disk, and the 2026-08-26 ruling deliberately
|
|
13287
|
+
* leaves the ignore rule alone - so it stays uncommitted and the ending names it (census run 11,
|
|
13288
|
+
* 2026-09-14). The two answers come off the file's KIND and never off its name.
|
|
13289
|
+
*
|
|
13290
|
+
* THE REMEDY IS GIT'S OWN ANSWER, not a sentence written beside the code: `check-ignore -v` named
|
|
13291
|
+
* the pattern, the file and the line, and the `!` line points at the OUTERMOST ignored ancestor
|
|
13292
|
+
* because git never descends into an excluded directory.
|
|
13293
|
+
*/
|
|
13294
|
+
"init-contract-file-ignored": {
|
|
13295
|
+
factFamily: "init-ignored-contract",
|
|
13296
|
+
stage: "init",
|
|
13297
|
+
owner: "repository",
|
|
13298
|
+
privacy: "authored",
|
|
13299
|
+
destinations: LOCAL_ONLY,
|
|
13300
|
+
summary: (facts) => {
|
|
13301
|
+
const also = (facts?.others ?? []).length === 0 ? "" : ` and ${quoted3([...facts?.others ?? []])}`;
|
|
13302
|
+
const rule = facts?.rule === void 0 || facts.rule === "" ? "" : ` - your own ${facts.rule}`;
|
|
13303
|
+
return `abloh cannot commit ${facts?.path ?? "the contract"}${also}, and abloh measures what your repository carries${rule}`;
|
|
13304
|
+
},
|
|
13305
|
+
remedy: (facts) => customerAction(
|
|
13306
|
+
`Add \`${facts?.unIgnore ?? "!abloh.yml"}\` to ${facts?.ignoreFile ?? ".gitignore"}, then run abloh init again.`
|
|
13307
|
+
),
|
|
13308
|
+
evidence: NO_EVIDENCE
|
|
13309
|
+
},
|
|
13276
13310
|
"init-restore-failed": {
|
|
13277
13311
|
factFamily: "init-restore",
|
|
13278
13312
|
stage: "init",
|
|
@@ -17671,6 +17705,31 @@ var SETUP_MAPPINGS = {
|
|
|
17671
17705
|
}))
|
|
17672
17706
|
}
|
|
17673
17707
|
},
|
|
17708
|
+
"init-ignored-contract": {
|
|
17709
|
+
/* THE RULE IS THE ONE FACT THAT CAN BE ABSENT - git answers the path without naming a pattern
|
|
17710
|
+
where an ignore file is unreadable - and the remedy is the same edit either way. */
|
|
17711
|
+
select: (facts) => facts.rule === null ? "unnamed" : "named",
|
|
17712
|
+
rows: {
|
|
17713
|
+
named: (facts) => message(refuse("init-contract-file-ignored", {
|
|
17714
|
+
facts: {
|
|
17715
|
+
path: facts.path,
|
|
17716
|
+
others: facts.others,
|
|
17717
|
+
rule: facts.rule ?? "",
|
|
17718
|
+
unIgnore: facts.unIgnore,
|
|
17719
|
+
ignoreFile: facts.ignoreFile ?? ".gitignore"
|
|
17720
|
+
}
|
|
17721
|
+
})),
|
|
17722
|
+
unnamed: (facts) => message(refuse("init-contract-file-ignored", {
|
|
17723
|
+
facts: {
|
|
17724
|
+
path: facts.path,
|
|
17725
|
+
others: facts.others,
|
|
17726
|
+
rule: "",
|
|
17727
|
+
unIgnore: facts.unIgnore,
|
|
17728
|
+
ignoreFile: facts.ignoreFile ?? ".gitignore"
|
|
17729
|
+
}
|
|
17730
|
+
}))
|
|
17731
|
+
}
|
|
17732
|
+
},
|
|
17674
17733
|
"init-restore": {
|
|
17675
17734
|
select: (facts) => facts.path === null ? "restored" : "failed",
|
|
17676
17735
|
rows: {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@abloh/core",
|
|
3
|
-
"version": "1.0.2-staging.
|
|
3
|
+
"version": "1.0.2-staging.34908219256",
|
|
4
4
|
"description": "Abloh core: normalized results contract, diff scoping, policy, findings, scoring. \"name\" will publish under the @abloh scope.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "SEE LICENSE IN LICENSE",
|