@jentrix/plugin-codex 0.3.0 → 0.3.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": "@jentrix/plugin-codex",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.1",
|
|
4
4
|
"description": "The official Jentrix plugin for Codex: connected-session skills and trusted lifecycle hooks, materialized by the Jentrix CLI (jentrix plugin install codex).",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"jentrix",
|
|
@@ -59,6 +59,21 @@ wizard; a Project is an optional task label and is never part of it).
|
|
|
59
59
|
`$jentrix-end` moves it to In review when the work is genuinely finished —
|
|
60
60
|
the terminal move is the operator's Accept, never yours.
|
|
61
61
|
|
|
62
|
+
5. **Finish by reading the card**, and relay what comes back:
|
|
63
|
+
|
|
64
|
+
```
|
|
65
|
+
jentrix task context --task <that task>
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
One call returns the description, the links BOTH ways with their titles,
|
|
69
|
+
the subtasks, the latest artifact of each type with its id, and the last
|
|
70
|
+
five comments. Read it before you touch any code: a linked card is usually
|
|
71
|
+
where the prior round's reasoning lives, and its artifacts are the context
|
|
72
|
+
you would otherwise reconstruct from scratch. If it prints
|
|
73
|
+
`no links · no artifacts · no comments`, the card has nothing to give and
|
|
74
|
+
you stop looking — that single line is the answer, not an invitation to run
|
|
75
|
+
`task get`, `task search` and `comment list` to confirm it.
|
|
76
|
+
|
|
62
77
|
Notes for you (the assistant):
|
|
63
78
|
|
|
64
79
|
- Do NOT pass `--provider-session` — the CLI reads the current session id and
|
|
@@ -57,27 +57,63 @@ the plan, when a long investigation resolves, or before handing the work over.
|
|
|
57
57
|
2. Do not summarize the transcript. Do not restate the prompt. Do not include
|
|
58
58
|
anything you have not verified this session — a checkpoint that carries a
|
|
59
59
|
guess as a fact poisons every session that reads it.
|
|
60
|
-
3.
|
|
60
|
+
3. **If the checkpoint claims a gate, run the gate first.** A checkpoint that
|
|
61
|
+
says "typecheck green" without an attested LOG behind it is a claim, and
|
|
62
|
+
`jentrix session end` now REFUSES a close whose report claims a gate family
|
|
63
|
+
(`typecheck` · `lint` · `test` · `e2e`) with no attested LOG of that same
|
|
64
|
+
family. So, before writing the body: for each gate you are about to name,
|
|
65
|
+
check whether this session already has an attested LOG for it, and if not,
|
|
66
|
+
run it —
|
|
67
|
+
|
|
68
|
+
```
|
|
69
|
+
jentrix push log --from-cmd "<the gate command>"
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
— then cite the returned artifact id in the checkpoint beside the claim.
|
|
73
|
+
The command exits with the GATE's own code, so a red gate stays red and you
|
|
74
|
+
report it red. If you are not going to run it, do not claim it: say what was
|
|
75
|
+
not run and why.
|
|
76
|
+
|
|
77
|
+
4. **`## Code contact`** — the files the objective named, and which of them
|
|
78
|
+
this session actually opened:
|
|
79
|
+
|
|
80
|
+
```
|
|
81
|
+
jentrix session contact --paths <the files the PROMPT/GOAL named>
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
List the never-opened ones under that heading, verbatim. This is the check
|
|
85
|
+
that catches the expensive failure: work built on a file nobody read. If the
|
|
86
|
+
answer says no local activity skeleton exists, say THAT — "never opened" by
|
|
87
|
+
absence is not the same claim as "never opened" by evidence.
|
|
88
|
+
|
|
89
|
+
5. Push it — as an ARTIFACT, never as a comment. A "Checkpoint" posted as a
|
|
90
|
+
comment is not a checkpoint: the summary counts REPORTs titled
|
|
91
|
+
`Checkpoint — …` and prints `checkpoints: N`, and a comment counts zero.
|
|
61
92
|
- `jentrix push learning --title "Checkpoint — <topic>"` when it is durable
|
|
62
93
|
knowledge worth carrying past this work;
|
|
63
94
|
- `jentrix push report --title "Checkpoint — <topic>"` when it is the
|
|
64
95
|
state of THIS work.
|
|
65
96
|
Content goes on stdin.
|
|
66
|
-
|
|
97
|
+
6. Relay the returned `artifactId` to the operator, and say which kind you
|
|
67
98
|
chose and why.
|
|
68
|
-
|
|
99
|
+
7. If the session's task status no longer matches reality, fix it now:
|
|
69
100
|
`jentrix column list --board <boardId>` then
|
|
70
101
|
`jentrix task move --task <id> --to-column-id <id>`. Only the columns the
|
|
71
102
|
board actually has.
|
|
72
103
|
|
|
73
104
|
**Cadence duty (evidence floor).** Checkpoint after EVERY commit, not only at
|
|
74
|
-
the end: push the `decision`
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
`
|
|
105
|
+
the end: push the `decision` the commit rested on the moment it lands — with
|
|
106
|
+
`--basis <artifact-id-or-url>`, or `--no-basis "<reason>"` when it rested on
|
|
107
|
+
your own reading and there is nothing filed to cite (the command REFUSES
|
|
108
|
+
without one of the two) — and run its gates through `jentrix push log
|
|
109
|
+
--from-cmd "<command>"` so the exit code and output tail are recorded as a LOG.
|
|
110
|
+
Record quality must track the work, not end-of-session diligence — `jentrix
|
|
111
|
+
session end` enforces this: it refuses on commits with no decision record that
|
|
112
|
+
names its basis, on sectioned reports with no typed artifacts, and on a gate
|
|
113
|
+
claimed in prose with no attested LOG of that gate family. A deliberate
|
|
114
|
+
exception is an ordinary `jentrix push gap` — but a gap that names a file in
|
|
115
|
+
the checkout this session never opened is itself refused, because that is not a
|
|
116
|
+
limitation, it is an unread file.
|
|
81
117
|
|
|
82
118
|
Note for the operator: this records the distillation. On a session aligned
|
|
83
119
|
with `--capture`, the raw pre-compaction range is preserved separately and
|
|
@@ -32,15 +32,26 @@ pipeline), the typed artifacts ARE the record — push them before closing:
|
|
|
32
32
|
- Push the final report: write a concise session report (what was done,
|
|
33
33
|
what changed, what's next) and run
|
|
34
34
|
`jentrix push report --title "<short title>"` with the content on stdin.
|
|
35
|
-
- Push any decisions made this session that were not already pushed
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
35
|
+
- Push any decisions made this session that were not already pushed. **Ask
|
|
36
|
+
what the decision rested on BEFORE you write the memo** — the basis is
|
|
37
|
+
not a field to fill in afterwards, it is the thing that makes the memo a
|
|
38
|
+
decision rather than an assertion. For each one, answer "what did this
|
|
39
|
+
rest on?" first, then push:
|
|
40
|
+
`jentrix push decision --basis <artifact-id|url> …` (repeatable; file the
|
|
41
|
+
context first so the ref resolves), or, when it genuinely rested on your
|
|
42
|
+
own reading of the code and there is nothing filed to cite,
|
|
43
|
+
`jentrix push decision --no-basis "<the reason>"`. The command REFUSES
|
|
44
|
+
without one of the two, and a memo with neither would not have counted
|
|
45
|
+
toward E2/E3 anyway.
|
|
39
46
|
- **Gap sweep**: every promised-but-undone item becomes a
|
|
40
47
|
`jentrix push gap` — one per gap, title stating the claim ("Windows hook
|
|
41
48
|
path untested"). A session with no output MUST have at least one gap
|
|
42
49
|
explaining why. Push `jentrix push issue` for anything found broken and
|
|
43
|
-
not yet recorded.
|
|
50
|
+
not yet recorded. A gap that names a file in this checkout the session
|
|
51
|
+
never OPENED is refused with the path and the remedy: read it or drop the
|
|
52
|
+
path. That refusal is not an obstacle to route around — the one-line read
|
|
53
|
+
that satisfies it is the read that would have told you whether the gap is
|
|
54
|
+
real.
|
|
44
55
|
- Push any durable lessons: `jentrix push learning …`.
|
|
45
56
|
- Do NOT push a diff by hand. When HEAD moved, `jentrix session end`
|
|
46
57
|
generates the real `git log --patch` for the session's range itself and
|
|
@@ -94,18 +105,28 @@ pipeline), the typed artifacts ARE the record — push them before closing:
|
|
|
94
105
|
say so if the user seems to expect it.
|
|
95
106
|
|
|
96
107
|
**Evidence floor.** `jentrix session end` enforces fixed checks and will
|
|
97
|
-
REFUSE to close when they are unmet:
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
108
|
+
REFUSE to close when they are unmet:
|
|
109
|
+
|
|
110
|
+
- **E1** — HEAD moved but no attested DIFF (the CLI pushes the real patch
|
|
111
|
+
itself; just re-run `session end` from the aligned checkout).
|
|
112
|
+
- **E2** — commits with no `jentrix push decision` **that names its basis**,
|
|
113
|
+
and no declared-deviation `jentrix push gap`. Basis-less memos do not count,
|
|
114
|
+
however many are pushed: the count was never the evidence.
|
|
115
|
+
- **E3** — a REPORT carrying `## Learnings` / `## Gaps` / `## Decisions`
|
|
116
|
+
sections while the session has zero corresponding typed artifacts (split
|
|
117
|
+
them into `push learning|gap|decision`, never one blob).
|
|
118
|
+
- **E4** — a REPORT that CLAIMS a gate refuses the close unless the session
|
|
119
|
+
has an attested LOG (`jentrix push log --from-cmd`) whose command names the
|
|
120
|
+
**same gate family**: `typecheck` · `lint` · `test` · `e2e`. Family, not
|
|
121
|
+
exact command — "tests green" is covered by `pnpm test:mvp` and is NOT
|
|
122
|
+
covered by `pnpm lint`. A pasted LOG covers nothing; the CLI warns
|
|
123
|
+
`UNATTESTED LOG` when you push one, and the summary marks it.
|
|
124
|
+
|
|
125
|
+
Comply by pushing the named evidence and retrying, or deviate honestly with a
|
|
126
|
+
`gap`. `--acknowledge-evidence-gaps` closes anyway and stamps each unmet check
|
|
127
|
+
MISSING into Review readiness — reach for it when the gap is real, never to get
|
|
128
|
+
past a check you could satisfy by running the gate. A refusal leaves the
|
|
129
|
+
session AND its capture host running, so the comply work is still recorded.
|
|
109
130
|
|
|
110
131
|
## Shared boundaries
|
|
111
132
|
|