@mku1tra/work 0.1.0 → 0.1.1

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mku1tra/work",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "description": "The types of the work, on basis: objective, issue, plan and cl, each with a type note that says what each part of its notes holds.",
5
5
  "license": "MIT",
6
6
  "repository": {
package/types/cl.md CHANGED
@@ -6,16 +6,15 @@ The cut's intent, in one line: one sentence of done, said as what is true after
6
6
  ---
7
7
  ## Check
8
8
 
9
- What it ensures: its promises, each one a future test ([[changelist#Behavior]]). Each promise can fail: a promise nothing could break is no check.
10
-
11
- - behavior: given, when, then. It fails before the change and passes after
12
- - structure: what stays green before and after, by its test files. When the tests themselves are what changes, the code stays as it is, and the mutation score holds
13
- - a seam it creates: a promise that the seam holds, at its surface
14
- - a Done item it completes: that item's test, which this cl writes red first ([[kinetic#Policy]], the promise rule)
15
- - the whole behavior: a cut that asks an outside thing, waits, or says why it did a thing has a promise for each ([[code#Running]]). A promise left out is built by nobody, so the review finds it after the code
16
- - the failed ask: what happens when the outside thing fails, or does not answer
17
- - the limit: how long a wait may last, and what passing it does
18
- - the record: where a reason or a result is kept, and who reads it there
9
+ The cl's promises ([[terms#promise]]): what is true once it lands, each an outcome at the cut's boundary that can fail. Few, each at the altitude of its source. The cases are its tester's, and the build inside the boundary is its builders'.
10
+
11
+ - a promise: one outcome, said as what holds and for whom. Never how it is built, never an input or a test to write: a line that reads as a test case is a case written too soon ([[terms#case]])
12
+ - its source: what it serves, which sets the kind of its test ([[terms#promise]], its altitude)
13
+ - an issue's promise it completes: its test, written red first by this cl, at the system altitude ([[kinetic#Policy]], the promise rule)
14
+ - a seam it creates: the promise that the seam holds, at its surface
15
+ - its own intent: a unit promise, where its logic is decided
16
+ - by shape ([[terms#shape]]): behavior, each promise false before and true after; structure, each promise true before and after, by the test files that pin it
17
+ - an outside thing: a cut that asks one, or waits on one, promises what holds when it fails, how long a wait may last, and where the reason is kept. These are outcomes the design decides, so they are promises; how the failure is caught is a case
19
18
 
20
19
  ## Seam
21
20
 
package/types/issue.md CHANGED
@@ -12,17 +12,18 @@ What validation (was it the right thing) is judged against. Every plan, CL and r
12
12
 
13
13
  ## Done
14
14
 
15
- The state that meets the intent: what verification (was it built right) is judged against. The top of the V for one piece of work: a [[plan]] refines it into cls, every CL points to it by name ("Updates <name>" for a step, "Fixes <name>" on the last), and acceptance checks it on the way up ([Google Issue Tracker](https://developers.google.com/issue-tracker/concepts/issues)).
15
+ The issue's promises ([[terms#promise]]), at the system altitude: the state that meets the intent, what verification (was it built right) is judged against. The top of the V for one piece of work: a [[plan]] refines it into cls, every CL points to it by name ("Updates <name>" for a step, "Fixes <name>" on the last), and acceptance checks it on the way up ([Google Issue Tracker](https://developers.google.com/issue-tracker/concepts/issues)).
16
16
 
17
17
  - a state, not an activity: "X is true", never "do X"
18
- - it can fail: a claim nothing could falsify is no check
19
- - it says where it is checked, set by where the claim lives and how long it must hold
18
+ - it can fail: a promise nothing could falsify is no check
19
+ - an outcome the whole shows, never a part of the build: how the work is cut is the plan's
20
+ - it says where it is checked, set by where the promise lives and how long it must hold
20
21
  - in the code, from then on: the acceptance test, on main. CI keeps it from then on
21
22
  - one CL: that CL's tests, in its cl note
22
- - more than one CL: each item's test, carried by the cl that completes it ([[kinetic#Policy]], the promise rule). The [[plan]] names that cl
23
+ - more than one CL: each promise's test, carried by the cl that completes it ([[kinetic#Policy]], the promise rule). The [[plan]] names that cl
23
24
  - in the running system, once: proven where it runs, read from the running system after deploy (a request, a query, a log line). Main proves the code, not the fleet. Skipped only for code that runs nowhere
24
- - in the running system, from then on: kept, by a monitor that keeps checking it, and where it alerts. Only when the claim can break again after met
25
- - the test of a good list: someone who did not write it can check every item without asking
25
+ - in the running system, from then on: kept, by a monitor that keeps checking it, and where it alerts. Only when the promise can break again after met
26
+ - the test of a good list: someone who did not write it can check every promise without asking
26
27
 
27
28
  ## Non-goals
28
29
 
package/types/plan.md CHANGED
@@ -1,18 +1,19 @@
1
1
  ---
2
2
  type: type
3
3
  ---
4
- The approach, in one or two sentences: how the cls, in order, meet the issue's Done. A known way to cut a kind of change gives a ready order ([[playbook#Cutting a change]]); when none fits, build one, and say so.
4
+ The approach, in one or two sentences: how the cls, in order, keep the issue's promises. A known way to cut a kind of change gives a ready order ([[playbook#Cutting a change]]); when none fits, build one, and say so.
5
5
 
6
6
  ---
7
7
  ## Phases
8
8
 
9
- The refinement of the issue: the cls replace its Done with smaller specs, and the phases show how they combine, so that meeting all of them meets the issue (stepwise refinement: Wirth, 1971; Lamport, *A Science of Concurrent Programs*, ch. 6). Dependent CLs are split and ordered "at a high level before diving into coding" ([Small CLs](https://google.github.io/eng-practices/review/developer/small-cls.html)), because "a bad line of a plan could lead to hundreds of bad lines of code" ([HumanLayer](https://github.com/humanlayer/advanced-context-engineering-for-coding-agents/blob/main/ace-fca.md)).
10
- - a phase: a group of cls that need nothing from each other, so they can be built side by side: no two change the same code, and none requires another's ensures. Two cls that must change the same code go in different phases, and each phase's reason says why its cls stay apart. Order is only between phases: a phase starts once every cl of the phases before it has landed (a partial order: Lamport, 1978). Inside a phase, cls are parallel, or a set (the same change in many places: SWE at Google, ch. 22). Each cl holds its `phase`, and this list names the same cls in the same phases
9
+ The refinement of the issue: the cls replace its promises with smaller ones ([[terms#promise]]), and the phases show how they combine, so that meeting all of them meets the issue (stepwise refinement: Wirth, 1971; Lamport, *A Science of Concurrent Programs*, ch. 6). Dependent CLs are split and ordered "at a high level before diving into coding" ([Small CLs](https://google.github.io/eng-practices/review/developer/small-cls.html)), because "a bad line of a plan could lead to hundreds of bad lines of code" ([HumanLayer](https://github.com/humanlayer/advanced-context-engineering-for-coding-agents/blob/main/ace-fca.md)).
10
+ - a phase: a group of cls that need nothing from each other, so they can be built side by side: no two change the same code, and none needs what another promises. Two cls that must change the same code go in different phases, and each phase's reason says why its cls stay apart. Order is only between phases: a phase starts once every cl of the phases before it has landed (a partial order: Lamport, 1978). Inside a phase, cls are parallel, or a set (the same change in many places: SWE at Google, ch. 22). Each cl holds its `phase`, and this list names the same cls in the same phases
11
11
  - a hard line: where a cut must fall, whatever the design. A cl lands in one repo, through one review, and ships alone, so a part in another repo, for another reviewer or deployed apart is its own cut. Work that is not code (access, accounts, shares) is no cut: it is a step done by hand, checked by a read
12
- - a cut: the cls meet at seams, each an interface between cuts: what one side promises the other, and what neither touches. Cut along decisions hidden behind an interface, not along the steps of a flow ([Parnas, 1972](https://dl.acm.org/doi/10.1145/361598.361623))
13
- - a cl ([[cl]]): a contract: what it ensures, requires and must keep. It has its own intent and a check that can fail, fits one review, and leaves main working once it lands ([[changelist#Good CL]]). If you can't write a cut's check, the cut is wrong
14
- - the proof: every Done item is met by a cl, and every cl meets one. A cl that meets nothing is scope the issue did not ask for. A seam's promise is in the Check of the cl that creates the seam, and each Done item's test in the Check of the cl that completes it ([[kinetic#Policy]], the promise rule)
15
- - every claim stands on shown ground: the code or a probe's output, never a summary of them
12
+ - a cut: the cls meet at seams ([[terms#seam]]), each an interface between cuts: what one side promises the other, and what neither touches. Cut along decisions hidden behind an interface, not along the steps of a flow ([Parnas, 1972](https://dl.acm.org/doi/10.1145/361598.361623))
13
+ - a cl ([[cl]]): a contract: its promises, its phase and its seam. It has its own intent and promises that can fail, fits one review, and leaves main working once it lands ([[changelist#Good CL]]). If you can't write a cut's promises, the cut is wrong
14
+ - the boundary: the plan stops at each cut's surface. It names the seams and what each cl promises, never the cases or the build inside, which are its builders'
15
+ - the proof: every promise of the issue is kept by a cl, and every cl serves one. A cl that serves nothing is scope the issue did not ask for. A seam's promise is in the Check of the cl that creates the seam, and each issue promise's test in the Check of the cl that completes it ([[kinetic#Policy]], the promise rule)
16
+ - every assumption stands on shown ground: the code or a probe's output, never a summary of them
16
17
  - the list: a line for each phase, what it builds and why it comes where it does, and under it a line for each of its cls, what it hides and what crosses to the others
17
18
 
18
19
  - Phase 1: what it builds, and why it comes first
@@ -22,4 +23,4 @@ The refinement of the issue: the cls replace its Done with smaller specs, and th
22
23
 
23
24
  ## Does not fit
24
25
 
25
- What could not be made to fit, said plainly: a seam it could not prove, a cut it could not check, a Done item no cl meets. Removed when everything fits. plan-review judges the plan against the issue's Intent and Done before any cl starts, and reads this first, because it is where forcing shows up. The plan is done when its issue is met, not when its last cl lands.
26
+ What could not be made to fit, said plainly: a seam it could not prove, a cut it could not check, an issue promise no cl keeps. Removed when everything fits. plan-review judges the plan against the issue's Intent and promises before any cl starts, and reads this first, because it is where forcing shows up. The plan is done when its issue is met, not when its last cl lands.