project-tiny-context-harness 0.2.67 → 0.2.68
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/README.md +95 -95
- package/assets/README.md +106 -106
- package/assets/skills/normal-long-task/SKILL.md +486 -473
- package/assets/skills/superpowers-long-task/SKILL.md +256 -241
- package/package.json +1 -1
package/assets/README.md
CHANGED
|
@@ -8,13 +8,13 @@
|
|
|
8
8
|
|
|
9
9
|
Translations: [Chinese (Simplified)](README.zh-CN.md)
|
|
10
10
|
|
|
11
|
-
Project Tiny Context Harness is repo-native project memory for AI coding agents and a repo-native context contract.
|
|
12
|
-
|
|
13
|
-
`project-tiny-context-harness` ships Project Tiny Context Harness through the `ty-context` CLI. It installs **Minimal Context Harness**: a compact `project_context/**` fact source, a short `AGENTS.md` startup router, role Skills, priority guidance for Context/code/evidence, and a `validate-context` gate so fresh agents can recover project intent, boundaries, verification entry points and next safe actions quickly.
|
|
11
|
+
Project Tiny Context Harness is repo-native project memory for AI coding agents and a repo-native context contract.
|
|
12
|
+
|
|
13
|
+
`project-tiny-context-harness` ships Project Tiny Context Harness through the `ty-context` CLI. It installs **Minimal Context Harness**: a compact `project_context/**` fact source, a short `AGENTS.md` startup router, role Skills, priority guidance for Context/code/evidence, and a `validate-context` gate so fresh agents can recover project intent, boundaries, verification entry points and next safe actions quickly.
|
|
14
14
|
|
|
15
15
|
It is not another full Tiny Context ceremony. The Harness maintains context quality; project tests, reviews, CI and human acceptance still own product quality.
|
|
16
16
|
|
|
17
|
-
Think of it as durable project memory behind `AGENTS.md`, plus priority rules for Context/code/evidence, not another agent, process framework or task manager.
|
|
17
|
+
Think of it as durable project memory behind `AGENTS.md`, plus priority rules for Context/code/evidence, not another agent, process framework or task manager.
|
|
18
18
|
|
|
19
19
|
Best for:
|
|
20
20
|
|
|
@@ -94,7 +94,7 @@ That smoke packs the local workspace, installs it into a disposable repo, runs `
|
|
|
94
94
|
```sh
|
|
95
95
|
npm run preview:pack
|
|
96
96
|
cd /path/to/your/test-repo
|
|
97
|
-
npm install -D /path/to/project-tiny-context-harness/tmp/ty-context/source-preview/package/project-tiny-context-harness-0.2.
|
|
97
|
+
npm install -D /path/to/project-tiny-context-harness/tmp/ty-context/source-preview/package/project-tiny-context-harness-0.2.68.tgz
|
|
98
98
|
npx --no-install ty-context init --adopt
|
|
99
99
|
make validate-context
|
|
100
100
|
```
|
|
@@ -107,50 +107,50 @@ Use it when coding agents repeatedly lose project intent across new chats, hando
|
|
|
107
107
|
|
|
108
108
|
Coding agents can move quickly inside one thread and still drift when a new chat, model, tool, reviewer or debugging session loses the project-specific facts that were never encoded anywhere stable.
|
|
109
109
|
|
|
110
|
-
Most repositories already have README files, specs, tests and issue history, but fresh agents need a small, explicit recovery path: what the project is trying to do, what it must not do, where architecture boundaries live, how to validate changes and what durable facts changed after the last task. Minimal Context Harness makes that recovery path a first-class repo surface without adding a full planning ceremony.
|
|
111
|
-
|
|
112
|
-
The concrete failure mode is not only "the agent did not read enough files." In an ABCD module chain where A/B/C are upstream of downstream D, a D feature may reveal a missing capability. Without Context, the agent can satisfy D by changing upstream A/B because the current code makes that path available. What is missing is a repo-owned intent layer that says whether D may change upstream A/B, whether the gap belongs in C's contract, or whether the task must stop for a `Context Delta` before implementation continues. Current code can show what is possible; it cannot decide whether that is allowed project intent.
|
|
113
|
-
|
|
114
|
-
The product lesson is: **keep the memory, drop the ceremony**. Earlier stage-based workflows externalized requirements, design, implementation, review, test and release into explicit phase artifacts. Modern coding agents already internalize much of that ordinary software loop. Project Tiny Context Harness keeps the useful part: the smallest high-density repo context that survives fresh chats without forcing every task through phase transitions, work-product validation or Tiny Context-stage context splits.
|
|
115
|
-
|
|
116
|
-
## Current Best Practice
|
|
117
|
-
|
|
118
|
-
For short tasks, use the workflow contract and Context layer directly:
|
|
119
|
-
|
|
120
|
-
```text
|
|
121
|
-
workflow contract + project_context/** -> implementation -> verification -> drift check
|
|
122
|
-
```
|
|
123
|
-
|
|
124
|
-
For long-running tasks, externalize the target first. Use explicit Skill invocation instead of broad keyword triggering:
|
|
125
|
-
|
|
126
|
-
```text
|
|
127
|
-
Web GPT or another external planning model produces a two-document upstream input
|
|
128
|
-
-> /normal-long-task produces the full checklist and optional generic target-mode prompt
|
|
129
|
-
-> /superpowers-long-task produces the Superpowers target-mode prompt when Superpowers execution is needed
|
|
130
|
-
-> Superpowers derives concrete implementation slices
|
|
131
|
-
-> each slice follows the workflow contract + project_context/**
|
|
132
|
-
```
|
|
133
|
-
|
|
134
|
-
For best target-mode results, the two-document upstream input should be a `Development Plan` for execution direction and an `Acceptance and Tests` packet for acceptance authority. The development plan summarizes the original requirement source and implementation direction; the acceptance packet supplies ACs, required evidence, tests, real product/core paths, evidence layers, invalid evidence, state-machine rules, local audit requirements and blockers. Source Pack exports are temporary upload material for external planning, not durable Context.
|
|
135
|
-
|
|
136
|
-
The ordinary long-task path uses `/normal-long-task`. It is the non-Superpowers acceptance pass: it can generate or reuse the full acceptance checklist and can produce a generic target-mode prompt.
|
|
137
|
-
|
|
138
|
-
The Superpowers long-task path uses `/superpowers-long-task` only after the full checklist exists. It consumes the complete packet from `/normal-long-task`, emits a Superpowers-specific target-mode prompt and cannot generate or repair the checklist. That prompt is Tiny Context's adapter layer, not a Superpowers official schema.
|
|
139
|
-
|
|
140
|
-
The recommended Superpowers layer is the specific [obra/Superpowers](https://github.com/obra/superpowers) plugin/workflow, not a generic planning substitute. Use `superpowers:writing-plans` when the target-mode prompt or source plan still needs bite-sized implementation tasks, then prefer `superpowers:subagent-driven-development` when subagents are available and `superpowers:executing-plans` otherwise. Behavior changes should use `superpowers:test-driven-development`, and completion claims should use `superpowers:verification-before-completion` against the full checklist and fresh evidence.
|
|
141
|
-
|
|
142
|
-
The reason is drift control. The workflow contract plus Context layer is intentionally a soft constraint. It works well for short tasks, and Context can still capture the expected facts for long tasks, but long execution makes the Context-to-code step drift as the context window grows, work is handed off, subagents split scope or validation loops multiply. A Web GPT plan, explicit long-task Skill invocation, target-mode prompt, full acceptance checklist and optional Superpowers execution layer make the completion target recoverable without restoring a phase-gated workflow.
|
|
143
|
-
|
|
144
|
-
## Positioning
|
|
145
|
-
|
|
146
|
-
| Adjacent tool type | Use it for | Harness stance |
|
|
147
|
-
|---|---|---|
|
|
148
|
-
| Spec-first kits | Turning a feature idea into structured specs and implementation plans. | Complementary. Specs can define a feature, but they do not automatically maintain repo-wide module boundary intent across every later task. |
|
|
149
|
-
| BMAD-style workflows and full Tiny Context processes | Coordinated role/process ceremonies on high-risk work. | Lighter default. Preserve context quality without shipping phase gates or work-product trees. |
|
|
150
|
-
| Superpowers-style execution | Turning approved requirements into plans, subagent execution, TDD, review and finish discipline. | Complementary. Use it to execute; keep Tiny Context as the durable repo intent and acceptance-priority layer. |
|
|
151
|
-
| Task Master-style planners | Backlog decomposition and task execution state. | Complementary. Harness does not own task state; it owns durable project memory and module boundary facts. |
|
|
152
|
-
| Context7/Serena-style retrieval or code-intelligence tools | Pulling external docs, symbols or repository facts on demand. | Complementary. They improve retrieval and editing, but do not answer whether downstream D may change upstream A/B; Harness keeps that local project truth in repo. |
|
|
153
|
-
| IDE or agent memory | Tool-specific continuity inside one product surface. | Portable fallback. Harness files are plain repo assets that any agent can read. |
|
|
110
|
+
Most repositories already have README files, specs, tests and issue history, but fresh agents need a small, explicit recovery path: what the project is trying to do, what it must not do, where architecture boundaries live, how to validate changes and what durable facts changed after the last task. Minimal Context Harness makes that recovery path a first-class repo surface without adding a full planning ceremony.
|
|
111
|
+
|
|
112
|
+
The concrete failure mode is not only "the agent did not read enough files." In an ABCD module chain where A/B/C are upstream of downstream D, a D feature may reveal a missing capability. Without Context, the agent can satisfy D by changing upstream A/B because the current code makes that path available. What is missing is a repo-owned intent layer that says whether D may change upstream A/B, whether the gap belongs in C's contract, or whether the task must stop for a `Context Delta` before implementation continues. Current code can show what is possible; it cannot decide whether that is allowed project intent.
|
|
113
|
+
|
|
114
|
+
The product lesson is: **keep the memory, drop the ceremony**. Earlier stage-based workflows externalized requirements, design, implementation, review, test and release into explicit phase artifacts. Modern coding agents already internalize much of that ordinary software loop. Project Tiny Context Harness keeps the useful part: the smallest high-density repo context that survives fresh chats without forcing every task through phase transitions, work-product validation or Tiny Context-stage context splits.
|
|
115
|
+
|
|
116
|
+
## Current Best Practice
|
|
117
|
+
|
|
118
|
+
For short tasks, use the workflow contract and Context layer directly:
|
|
119
|
+
|
|
120
|
+
```text
|
|
121
|
+
workflow contract + project_context/** -> implementation -> verification -> drift check
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
For long-running tasks, externalize the target first. Use explicit Skill invocation instead of broad keyword triggering:
|
|
125
|
+
|
|
126
|
+
```text
|
|
127
|
+
Web GPT or another external planning model produces a two-document upstream input
|
|
128
|
+
-> /normal-long-task produces the full checklist and optional generic target-mode prompt
|
|
129
|
+
-> /superpowers-long-task produces the Superpowers target-mode prompt when Superpowers execution is needed
|
|
130
|
+
-> Superpowers derives concrete implementation slices
|
|
131
|
+
-> each slice follows the workflow contract + project_context/**
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
For best target-mode results, the two-document upstream input should be a `Development Plan` for execution direction and an `Acceptance and Tests` packet for acceptance authority. The development plan summarizes the original requirement source and implementation direction; the acceptance packet supplies ACs, required evidence, tests, real product/core paths, evidence layers, invalid evidence, state-machine rules, local audit requirements and blockers. Source Pack exports are temporary upload material for external planning, not durable Context.
|
|
135
|
+
|
|
136
|
+
The ordinary long-task path uses `/normal-long-task`. It is the non-Superpowers acceptance pass: it can generate or reuse the full acceptance checklist and can produce a generic target-mode prompt.
|
|
137
|
+
|
|
138
|
+
The Superpowers long-task path uses `/superpowers-long-task` only after the full checklist exists. It consumes the complete packet from `/normal-long-task`, emits a Superpowers-specific target-mode prompt and cannot generate or repair the checklist. That prompt is Tiny Context's adapter layer, not a Superpowers official schema.
|
|
139
|
+
|
|
140
|
+
The recommended Superpowers layer is the specific [obra/Superpowers](https://github.com/obra/superpowers) plugin/workflow, not a generic planning substitute. Use `superpowers:writing-plans` when the target-mode prompt or source plan still needs bite-sized implementation tasks, then prefer `superpowers:subagent-driven-development` when subagents are available and `superpowers:executing-plans` otherwise. Behavior changes should use `superpowers:test-driven-development`, and completion claims should use `superpowers:verification-before-completion` against the full checklist and fresh evidence.
|
|
141
|
+
|
|
142
|
+
The reason is drift control. The workflow contract plus Context layer is intentionally a soft constraint. It works well for short tasks, and Context can still capture the expected facts for long tasks, but long execution makes the Context-to-code step drift as the context window grows, work is handed off, subagents split scope or validation loops multiply. A Web GPT plan, explicit long-task Skill invocation, target-mode prompt, full acceptance checklist and optional Superpowers execution layer make the completion target recoverable without restoring a phase-gated workflow.
|
|
143
|
+
|
|
144
|
+
## Positioning
|
|
145
|
+
|
|
146
|
+
| Adjacent tool type | Use it for | Harness stance |
|
|
147
|
+
|---|---|---|
|
|
148
|
+
| Spec-first kits | Turning a feature idea into structured specs and implementation plans. | Complementary. Specs can define a feature, but they do not automatically maintain repo-wide module boundary intent across every later task. |
|
|
149
|
+
| BMAD-style workflows and full Tiny Context processes | Coordinated role/process ceremonies on high-risk work. | Lighter default. Preserve context quality without shipping phase gates or work-product trees. |
|
|
150
|
+
| Superpowers-style execution | Turning approved requirements into plans, subagent execution, TDD, review and finish discipline. | Complementary. Use it to execute; keep Tiny Context as the durable repo intent and acceptance-priority layer. |
|
|
151
|
+
| Task Master-style planners | Backlog decomposition and task execution state. | Complementary. Harness does not own task state; it owns durable project memory and module boundary facts. |
|
|
152
|
+
| Context7/Serena-style retrieval or code-intelligence tools | Pulling external docs, symbols or repository facts on demand. | Complementary. They improve retrieval and editing, but do not answer whether downstream D may change upstream A/B; Harness keeps that local project truth in repo. |
|
|
153
|
+
| IDE or agent memory | Tool-specific continuity inside one product surface. | Portable fallback. Harness files are plain repo assets that any agent can read. |
|
|
154
154
|
|
|
155
155
|
## Try It In 60 Seconds
|
|
156
156
|
|
|
@@ -260,10 +260,10 @@ npx --yes --package project-tiny-context-harness@latest ty-context init --adopt
|
|
|
260
260
|
- `<harnessRoot>/skills/context_uiux_design/SKILL.md`
|
|
261
261
|
- `<harnessRoot>/skills/context_development_engineer/SKILL.md`
|
|
262
262
|
- `<harnessRoot>/skills/context_surface_contract/SKILL.md`
|
|
263
|
-
- `<harnessRoot>/skills/context_full_project_export/SKILL.md`
|
|
264
|
-
- `<harnessRoot>/skills/context_harness_upgrade/SKILL.md`
|
|
265
|
-
- `<harnessRoot>/skills/normal-long-task/SKILL.md`
|
|
266
|
-
- `<harnessRoot>/skills/superpowers-long-task/SKILL.md`
|
|
263
|
+
- `<harnessRoot>/skills/context_full_project_export/SKILL.md`
|
|
264
|
+
- `<harnessRoot>/skills/context_harness_upgrade/SKILL.md`
|
|
265
|
+
- `<harnessRoot>/skills/normal-long-task/SKILL.md`
|
|
266
|
+
- `<harnessRoot>/skills/superpowers-long-task/SKILL.md`
|
|
267
267
|
- `<harnessRoot>/ty-context-managed/context_templates/**`
|
|
268
268
|
- `<harnessRoot>/ty-context-managed/make/ty-context.mk`
|
|
269
269
|
- `tools/**`
|
|
@@ -298,7 +298,7 @@ No. It checks that recovery facts exist and avoids fake test-result claims. Prod
|
|
|
298
298
|
|
|
299
299
|
It should stay smaller than a full process. Ordinary bug fixes and local refactors do not update Context unless they produce durable product, architecture, API, state or validation facts.
|
|
300
300
|
|
|
301
|
-
The default Skills are Minimal Context helpers for explicit product-planning, UI/UX-design, development-engineering, Product Surface Contract, full-project-export, Tiny Context upgrade and explicit long-task requests. Product, screen-flow, surface responsibility and durable engineering conclusions go to `project_context/**`; visual identity and design tokens go to root `DESIGN.md`. Export artifacts are temporary files under `tmp/ty-context/context-exports/**`, not Context. Long-task artifacts are temporary files under `tmp/ty-context/plan-acceptance/**`; they define completion criteria for a referenced plan but do not execute it or prove acceptance. The ordinary long-task Skill is invoked as `/normal-long-task`: if the plan already contains an explicit concrete checklist, it reuses that checklist verbatim in the separate full-checklist file. For a two-document upstream input, the external planner should provide a `Development Plan` and an `Acceptance and Tests` packet; `/normal-long-task` preserves both source roles and, only when strict-mode required fields are fully parseable from both documents, turns them into the full checklist plus optional generic target prompt. When a generated prompt references a full checklist, that checklist is the authoritative acceptance standard; the compact prompt summary is only navigation and priority guidance. The Superpowers long-task Skill is invoked as `/superpowers-long-task`: it consumes the complete packet and emits the Superpowers-specific target-mode prompt; it is not a Superpowers official schema and stops if required fields are missing. The Harness upgrade Skill handles requests such as “upgrade Tiny Context” and “use the Tiny Context upgrade skill to upgrade this project” by following the release update mode, using `upgrade` for migration-bearing releases, and limiting manual cleanup to migration-scoped follow-up.
|
|
301
|
+
The default Skills are Minimal Context helpers for explicit product-planning, UI/UX-design, development-engineering, Product Surface Contract, full-project-export, Tiny Context upgrade and explicit long-task requests. Product, screen-flow, surface responsibility and durable engineering conclusions go to `project_context/**`; visual identity and design tokens go to root `DESIGN.md`. Export artifacts are temporary files under `tmp/ty-context/context-exports/**`, not Context. Long-task artifacts are temporary files under `tmp/ty-context/plan-acceptance/**`; they define completion criteria for a referenced plan but do not execute it or prove acceptance. The ordinary long-task Skill is invoked as `/normal-long-task`: if the plan already contains an explicit concrete checklist, it reuses that checklist verbatim in the separate full-checklist file. For a two-document upstream input, the external planner should provide a `Development Plan` and an `Acceptance and Tests` packet; `/normal-long-task` preserves both source roles and, only when strict-mode required fields are fully parseable from both documents, turns them into the full checklist plus optional generic target prompt. When a generated prompt references a full checklist, that checklist is the authoritative acceptance standard; the compact prompt summary is only navigation and priority guidance. The Superpowers long-task Skill is invoked as `/superpowers-long-task`: it consumes the complete packet and emits the Superpowers-specific target-mode prompt; it is not a Superpowers official schema and stops if required fields are missing. The Harness upgrade Skill handles requests such as “upgrade Tiny Context” and “use the Tiny Context upgrade skill to upgrade this project” by following the release update mode, using `upgrade` for migration-bearing releases, and limiting manual cleanup to migration-scoped follow-up.
|
|
302
302
|
|
|
303
303
|
Multilingual trigger phrases are compatibility details. Public README, npm and launch copy stay English-first, and public/package-managed surfaces must remain English-complete; literal non-English examples are documented only where they explain generated Skill matching and must not be the sole activation path.
|
|
304
304
|
|
|
@@ -306,11 +306,11 @@ For high-risk product, UI/UX and engineering tasks that affect durable architect
|
|
|
306
306
|
|
|
307
307
|
Technical architecture support is a Minimal Context capability: use restrained `architecture.md`, area Module Design Capsules and existing `contract` / `decision-rationale` roles when durable architecture or rationale matters. Do not invent rationale; store stable reasons, rejected alternatives or tradeoffs only in the smallest durable Context surface when they will affect future implementation or verification choices.
|
|
308
308
|
|
|
309
|
-
For long-running plans, RFCs or implementation proposals, invoke `/normal-long-task` to turn a plan plus relevant Context into a falsifiable acceptance checklist and an optional generic paste-ready goal/target-mode prompt. It also supports a two-document upstream input from Web GPT or another external planner: `Development Plan` for execution direction and `Acceptance and Tests` for target-mode acceptance input. If the plan already contains an explicit concrete acceptance checklist, the Skill copies that checklist verbatim into a separate full-checklist file instead of generating a competing checklist. The two-document packet path is strict mode: when required fields cannot be fully parsed from both documents, the Skill preserves the inputs, reports the missing fields, and stops without generating a checklist or goal/target-mode prompt. This is one pre-execution acceptance pass, not a task planner or workflow engine: it stores temporary inputs under `tmp/ty-context/plan-acceptance/**`, asks for confirmation when durable assumptions are unclear, and leaves execution evidence to the future executor, tests, CI, review or human acceptance. The generated prompt may require a local audit under the same temporary directory so future sessions can recover acceptance progress; that audit is not Context, not a quality proof and not a replacement for the project's Tiny Context workflow contract. The full checklist is the acceptance authority, while any compact prompt summary exists for navigation, priority and recovery after context compaction.
|
|
310
|
-
|
|
311
|
-
When the next step explicitly needs Superpowers, invoke `/superpowers-long-task` on the completed packet from `/normal-long-task`. It emits the `Superpowers input packet` and execution binding so the future executor sees which inputs feed `superpowers:writing-plans`, `superpowers:subagent-driven-development`, `superpowers:executing-plans`, TDD, `superpowers:verification-before-completion` and local audit. This is Tiny Context's adapter layer, not a Superpowers official schema, and it cannot replace `/normal-long-task` for missing checklist fields.
|
|
312
|
-
|
|
313
|
-
Important usage note: Minimal Context intentionally keeps Context read order, Context/code priority and drift checks as agent-level soft constraints rather than machine-enforced gates. That tradeoff works well for short tasks, but long tasks with large context windows, multiple handoffs or many verification loops are expected to drift unless the completion target is externalized. Use `/normal-long-task` before long-running execution when there is a plan-like source; treat the full checklist as the acceptance target, and treat the local audit only as temporary progress/recovery state.
|
|
309
|
+
For long-running plans, RFCs or implementation proposals, invoke `/normal-long-task` to turn a plan plus relevant Context into a falsifiable acceptance checklist and an optional generic paste-ready goal/target-mode prompt. It also supports a two-document upstream input from Web GPT or another external planner: `Development Plan` for execution direction and `Acceptance and Tests` for target-mode acceptance input. If the plan already contains an explicit concrete acceptance checklist, the Skill copies that checklist verbatim into a separate full-checklist file instead of generating a competing checklist. The two-document packet path is strict mode: when required fields cannot be fully parsed from both documents, the Skill preserves the inputs, reports the missing fields, and stops without generating a checklist or goal/target-mode prompt. This is one pre-execution acceptance pass, not a task planner or workflow engine: it stores temporary inputs under `tmp/ty-context/plan-acceptance/**`, asks for confirmation when durable assumptions are unclear, and leaves execution evidence to the future executor, tests, CI, review or human acceptance. The generated prompt may require a local audit under the same temporary directory so future sessions can recover acceptance progress; that audit is not Context, not a quality proof and not a replacement for the project's Tiny Context workflow contract. The full checklist is the acceptance authority, while any compact prompt summary exists for navigation, priority and recovery after context compaction.
|
|
310
|
+
|
|
311
|
+
When the next step explicitly needs Superpowers, invoke `/superpowers-long-task` on the completed packet from `/normal-long-task`. It emits the `Superpowers input packet` and execution binding so the future executor sees which inputs feed `superpowers:writing-plans`, `superpowers:subagent-driven-development`, `superpowers:executing-plans`, TDD, `superpowers:verification-before-completion` and local audit. This is Tiny Context's adapter layer, not a Superpowers official schema, and it cannot replace `/normal-long-task` for missing checklist fields.
|
|
312
|
+
|
|
313
|
+
Important usage note: Minimal Context intentionally keeps Context read order, Context/code priority and drift checks as agent-level soft constraints rather than machine-enforced gates. That tradeoff works well for short tasks, but long tasks with large context windows, multiple handoffs or many verification loops are expected to drift unless the completion target is externalized. Use `/normal-long-task` before long-running execution when there is a plan-like source; treat the full checklist as the acceptance target, and treat the local audit only as temporary progress/recovery state.
|
|
314
314
|
|
|
315
315
|
For Product Surface work, `context_surface_contract` turns broad product/page/UI principles into project-owned surface responsibilities. A Product Surface can be a Web page, mobile screen, desktop window, game UI/HUD/menu, CLI/TUI output, extension UI or embedded/device interface. Cross-surface contracts use the existing `contract` role; area-owned screen facts stay in `area` or `subdomain`; repeatable validation paths use `verification`. The Harness does not add a new surface-specific role, does not create business surface contracts during `init` or `upgrade`, and does not turn surface conformance into a validator gate. Projects that want mandatory task blocks should add a separate project-local Skill, while `product-surface-contract.md` is only a compact managed template for optional Context authoring.
|
|
316
316
|
|
|
@@ -363,7 +363,7 @@ The expected Context Priority Ladder is: read Context first, run the product/pag
|
|
|
363
363
|
|
|
364
364
|
Managed `AGENTS.md` guidance is intentionally a startup router, not a full manual. It should contain fact-source entry points, hard boundaries, key triggers and shortest validation commands; package consumers default long design reasoning to Context unless they already have a local spec/design convention. In this source workspace, `PROJECT_SPEC.md` holds stable Harness workflow rationale. Role procedures belong in Skills and human usage guidance in README. The recommended 40-70 line range is a soft budget, not a validator gate.
|
|
365
365
|
|
|
366
|
-
The default `context_*` Skills and package-managed utility Skills are generated files. `sync` overwrites them, so project-specific product/design/development/surface-contract rules should live in separate project-local Skills such as `.codex/skills/product_plan/SKILL.md`, `.codex/skills/uiux_design/SKILL.md`, `.codex/skills/development_engineer/SKILL.md` or `.codex/skills/surface_contract/SKILL.md`. When a project-local Skill and a default Skill both apply, agents should use the more specific project-local Skill first while keeping durable conclusions in `project_context/**` and `DESIGN.md`. Keep the project-local Skill front matter `description` triggers aligned with the matching default `context_*` Skill and the project `AGENTS.md` role-trigger rule; if a project adds or narrows product/design/development/surface keywords, update both the local Skill and the agent guidance together. The Surface Contract, Harness upgrade, `/normal-long-task` and `/superpowers-long-task` Skills are also package-managed; customize project semantics in Context or separate project-local Skills, not by editing those generated Skills.
|
|
366
|
+
The default `context_*` Skills and package-managed utility Skills are generated files. `sync` overwrites them, so project-specific product/design/development/surface-contract rules should live in separate project-local Skills such as `.codex/skills/product_plan/SKILL.md`, `.codex/skills/uiux_design/SKILL.md`, `.codex/skills/development_engineer/SKILL.md` or `.codex/skills/surface_contract/SKILL.md`. When a project-local Skill and a default Skill both apply, agents should use the more specific project-local Skill first while keeping durable conclusions in `project_context/**` and `DESIGN.md`. Keep the project-local Skill front matter `description` triggers aligned with the matching default `context_*` Skill and the project `AGENTS.md` role-trigger rule; if a project adds or narrows product/design/development/surface keywords, update both the local Skill and the agent guidance together. The Surface Contract, Harness upgrade, `/normal-long-task` and `/superpowers-long-task` Skills are also package-managed; customize project semantics in Context or separate project-local Skills, not by editing those generated Skills.
|
|
367
367
|
|
|
368
368
|
## CLI Entry Safety
|
|
369
369
|
|
|
@@ -378,13 +378,13 @@ Use `npx --no-install ty-context ...` only when you explicitly want the already
|
|
|
378
378
|
| `npx --yes --package project-tiny-context-harness@latest ty-context init` | Non-destructively installs Minimal Context Harness into the current project. |
|
|
379
379
|
| `make ty-context-sync` or `npx --yes --package project-tiny-context-harness@latest ty-context sync` | Refreshes managed guidance, default Skills, Makefile include, tools and templates. It does not run migrations or generate project semantics; it may block only direct asset-refresh safety issues such as invalid managed blocks or deprecated managed Skill overrides. |
|
|
380
380
|
| `make ty-context-upgrade` or `npx --yes --package project-tiny-context-harness@latest ty-context upgrade` | Use for releases marked `upgrade-required` or `manual-required`. Builds an upgrade plan, stops before writes when `blocked` items exist, otherwise applies `safe_pending` migrations, runs `sync` and `doctor`, and exits non-zero when manual follow-up or diagnostics remain. |
|
|
381
|
-
| `npx --yes --package project-tiny-context-harness@latest ty-context upgrade --check [--json]` | Checks the upgrade plan without writing files. Reports `safe_pending`, `manual_required` and `blocked`; exits non-zero when any work remains. |
|
|
382
|
-
| `npx --yes --package project-tiny-context-harness@latest ty-context export-context --source-pack [--check]` | Creates a bounded Source Pack under `tmp/ty-context/context-exports/latest/` with upload-ready Context, code index and optional bundles, removing old timestamped rounds. |
|
|
383
|
-
| `npx --yes --package project-tiny-context-harness@latest ty-context export-context --code-index [--check]` | Creates a temporary implementation navigation index and manifest without full source bodies. |
|
|
384
|
-
| `npx --yes --package project-tiny-context-harness@latest ty-context export-context --task-context <name> [--profile <id>] [--check]` | Creates a bounded focused task handoff pack from profile or explicit include selectors. |
|
|
385
|
-
| `npx --yes --package project-tiny-context-harness@latest ty-context export-context --all [--check]` | Creates both default temporary exports under `tmp/ty-context/context-exports/**`. |
|
|
386
|
-
| `npx --yes --package project-tiny-context-harness@latest ty-context export-context --full [--output tmp/ty-context/context-exports/name.md] [--check]` | Creates a temporary project Context summary Markdown artifact. |
|
|
387
|
-
| `npx --yes --package project-tiny-context-harness@latest ty-context export-context --code [--output tmp/ty-context/context-exports/name.md] [--check]` | Creates a temporary single-file code implementation Markdown artifact. |
|
|
381
|
+
| `npx --yes --package project-tiny-context-harness@latest ty-context upgrade --check [--json]` | Checks the upgrade plan without writing files. Reports `safe_pending`, `manual_required` and `blocked`; exits non-zero when any work remains. |
|
|
382
|
+
| `npx --yes --package project-tiny-context-harness@latest ty-context export-context --source-pack [--check]` | Creates a bounded Source Pack under `tmp/ty-context/context-exports/latest/` with upload-ready Context, code index and optional bundles, removing old timestamped rounds. |
|
|
383
|
+
| `npx --yes --package project-tiny-context-harness@latest ty-context export-context --code-index [--check]` | Creates a temporary implementation navigation index and manifest without full source bodies. |
|
|
384
|
+
| `npx --yes --package project-tiny-context-harness@latest ty-context export-context --task-context <name> [--profile <id>] [--check]` | Creates a bounded focused task handoff pack from profile or explicit include selectors. |
|
|
385
|
+
| `npx --yes --package project-tiny-context-harness@latest ty-context export-context --all [--check]` | Creates both default temporary exports under `tmp/ty-context/context-exports/**`. |
|
|
386
|
+
| `npx --yes --package project-tiny-context-harness@latest ty-context export-context --full [--output tmp/ty-context/context-exports/name.md] [--check]` | Creates a temporary project Context summary Markdown artifact. |
|
|
387
|
+
| `npx --yes --package project-tiny-context-harness@latest ty-context export-context --code [--output tmp/ty-context/context-exports/name.md] [--check]` | Creates a temporary single-file code implementation Markdown artifact. |
|
|
388
388
|
| `npx --yes --package project-tiny-context-harness@latest ty-context check-modularity --touched [--limit 300] [--fail-on-warning]` | Reports selected handwritten source files over the physical line-count limit; `--file <path>` and `--base <ref>` select explicit files or branch changes, and config waivers are reported distinctly. |
|
|
389
389
|
| `npx --yes --package project-tiny-context-harness@latest ty-context validate-context` | Checks minimum project recovery fields, Context graph metadata, declared paths/roles and fake test-execution claims. |
|
|
390
390
|
| `make validate-context` | Makefile wrapper for `validate-context`. |
|
|
@@ -502,44 +502,44 @@ When authoring, migrating or cleaning up `project_context/areas/**`, run a soft
|
|
|
502
502
|
|
|
503
503
|
Automatic migration moves legacy `project_context/modules/**/*.md` files into `project_context/areas/**/*.md`, creates a usable graph baseline and does not infer deep semantic roles. If an existing deep area file is really a foundation, contract, archive or implementation index, a later agent should update `context.toml` explicitly. Boundary rules are metadata only; Harness does not scan source imports or build a runtime dependency graph.
|
|
504
504
|
|
|
505
|
-
## Temporary Project Exports
|
|
506
|
-
|
|
507
|
-
Use `export-context --source-pack` as the default external LLM / Web GPT planning path:
|
|
508
|
-
|
|
509
|
-
```sh
|
|
510
|
-
npx --yes --package project-tiny-context-harness@latest ty-context export-context --source-pack
|
|
511
|
-
npx --yes --package project-tiny-context-harness@latest ty-context export-context --source-pack --check
|
|
512
|
-
```
|
|
513
|
-
|
|
514
|
-
This writes `tmp/ty-context/context-exports/latest/` as ordinary files/directories for Windows compatibility and removes old timestamped export rounds. A standard Source Pack is capped at 5 files: `source-pack-manifest.json`, `full-project-context.md`, `code-index.md`, and at most `code-bundle-core.md` plus `code-bundle-extended.md`; small projects may omit bundle files. The manifest schema is `source-pack-v1`, uses repo-relative artifact paths and hashes, records warnings/omitted files, and recommends upload sets.
|
|
515
|
-
|
|
516
|
-
Recommended upload sets:
|
|
517
|
-
|
|
518
|
-
- Daily planning: `full-project-context.md`, `code-index.md`.
|
|
519
|
-
- Cross-module review: daily planning files plus `code-bundle-core.md` and, if needed, `code-bundle-extended.md`.
|
|
520
|
-
- Focused task handoff: `full-project-context.md`, `code-index.md`, `task-contexts/task-context-<name>.md`.
|
|
521
|
-
- Full fallback: daily planning files plus legacy `code-level-implementation.md` from `--code`.
|
|
522
|
-
|
|
523
|
-
Use `export-context --code-index` when implementation navigation is enough and full source bodies are not needed:
|
|
524
|
-
|
|
525
|
-
```sh
|
|
526
|
-
npx --yes --package project-tiny-context-harness@latest ty-context export-context --code-index
|
|
527
|
-
```
|
|
528
|
-
|
|
529
|
-
`code-index.md` includes export metadata, repository shape, Context mapping, entry/API/UI/CLI-worker/test/oversized indexes and a Source File Index with path, type, lines, characters, SHA256, deterministic summary, bundle and tags. It does not include complete source bodies.
|
|
530
|
-
|
|
531
|
-
Use `export-context --task-context <name>` for focused handoff. Profiles live in `<harnessRoot>/config.yaml` under `source_packs`; they are export selectors only, not durable facts, and their `verification` entries are listed without being executed:
|
|
532
|
-
|
|
533
|
-
```sh
|
|
534
|
-
npx --yes --package project-tiny-context-harness@latest ty-context export-context --task-context apex-trend-map --profile apex-trend-map
|
|
535
|
-
npx --yes --package project-tiny-context-harness@latest ty-context export-context --task-context demo --include-context project_context/areas/main.md --include-code 'src/demo/**'
|
|
536
|
-
```
|
|
537
|
-
|
|
538
|
-
Source Pack modes always keep secret redaction enabled. `--redaction-strict` exits non-zero if any secret/token/cookie/password/api_key/credential/bearer/authorization assignment required redaction. `--max-pack-files` defaults to 5 and cannot exceed 5 for Source Pack or task packs. `--prune <count>` is accepted for older scripts, but Source Pack modes now keep only `latest/` by default.
|
|
539
|
-
|
|
540
|
-
Legacy exports remain for compatibility and full fallback.
|
|
541
|
-
|
|
542
|
-
Use `export-context --all` when you want both one-off project exports for copying into an external tool or discussion:
|
|
505
|
+
## Temporary Project Exports
|
|
506
|
+
|
|
507
|
+
Use `export-context --source-pack` as the default external LLM / Web GPT planning path:
|
|
508
|
+
|
|
509
|
+
```sh
|
|
510
|
+
npx --yes --package project-tiny-context-harness@latest ty-context export-context --source-pack
|
|
511
|
+
npx --yes --package project-tiny-context-harness@latest ty-context export-context --source-pack --check
|
|
512
|
+
```
|
|
513
|
+
|
|
514
|
+
This writes `tmp/ty-context/context-exports/latest/` as ordinary files/directories for Windows compatibility and removes old timestamped export rounds. A standard Source Pack is capped at 5 files: `source-pack-manifest.json`, `full-project-context.md`, `code-index.md`, and at most `code-bundle-core.md` plus `code-bundle-extended.md`; small projects may omit bundle files. The manifest schema is `source-pack-v1`, uses repo-relative artifact paths and hashes, records warnings/omitted files, and recommends upload sets.
|
|
515
|
+
|
|
516
|
+
Recommended upload sets:
|
|
517
|
+
|
|
518
|
+
- Daily planning: `full-project-context.md`, `code-index.md`.
|
|
519
|
+
- Cross-module review: daily planning files plus `code-bundle-core.md` and, if needed, `code-bundle-extended.md`.
|
|
520
|
+
- Focused task handoff: `full-project-context.md`, `code-index.md`, `task-contexts/task-context-<name>.md`.
|
|
521
|
+
- Full fallback: daily planning files plus legacy `code-level-implementation.md` from `--code`.
|
|
522
|
+
|
|
523
|
+
Use `export-context --code-index` when implementation navigation is enough and full source bodies are not needed:
|
|
524
|
+
|
|
525
|
+
```sh
|
|
526
|
+
npx --yes --package project-tiny-context-harness@latest ty-context export-context --code-index
|
|
527
|
+
```
|
|
528
|
+
|
|
529
|
+
`code-index.md` includes export metadata, repository shape, Context mapping, entry/API/UI/CLI-worker/test/oversized indexes and a Source File Index with path, type, lines, characters, SHA256, deterministic summary, bundle and tags. It does not include complete source bodies.
|
|
530
|
+
|
|
531
|
+
Use `export-context --task-context <name>` for focused handoff. Profiles live in `<harnessRoot>/config.yaml` under `source_packs`; they are export selectors only, not durable facts, and their `verification` entries are listed without being executed:
|
|
532
|
+
|
|
533
|
+
```sh
|
|
534
|
+
npx --yes --package project-tiny-context-harness@latest ty-context export-context --task-context apex-trend-map --profile apex-trend-map
|
|
535
|
+
npx --yes --package project-tiny-context-harness@latest ty-context export-context --task-context demo --include-context project_context/areas/main.md --include-code 'src/demo/**'
|
|
536
|
+
```
|
|
537
|
+
|
|
538
|
+
Source Pack modes always keep secret redaction enabled. `--redaction-strict` exits non-zero if any secret/token/cookie/password/api_key/credential/bearer/authorization assignment required redaction. `--max-pack-files` defaults to 5 and cannot exceed 5 for Source Pack or task packs. `--prune <count>` is accepted for older scripts, but Source Pack modes now keep only `latest/` by default.
|
|
539
|
+
|
|
540
|
+
Legacy exports remain for compatibility and full fallback.
|
|
541
|
+
|
|
542
|
+
Use `export-context --all` when you want both one-off project exports for copying into an external tool or discussion:
|
|
543
543
|
|
|
544
544
|
```sh
|
|
545
545
|
npx --yes --package project-tiny-context-harness@latest ty-context export-context --all
|
|
@@ -568,7 +568,7 @@ npx --yes --package project-tiny-context-harness@latest ty-context export-contex
|
|
|
568
568
|
|
|
569
569
|
The default code artifact path is `tmp/ty-context/context-exports/code-level-implementation-<timestamp>/code-level-implementation.md`. The file title is `# Code-Level Implementation Export`. It scans main source and engineering configuration files, adds each file path, type, line count, character count, SHA256, a heuristic one-sentence summary and a fenced redacted code block. It does not split output into multiple Markdown files.
|
|
570
570
|
|
|
571
|
-
All export modes exclude `.env*` except safe examples such as `.env.example`, secret/token/cookie-oriented files, raw captures, licensed payload dumps, `node_modules`, build output, caches, coverage, test reports, logs and existing export artifacts; obvious sensitive assignment values are redacted and reported as warnings.
|
|
571
|
+
All export modes exclude `.env*` except safe examples such as `.env.example`, secret/token/cookie-oriented files, raw captures, licensed payload dumps, `node_modules`, build output, caches, coverage, test reports, logs and existing export artifacts; obvious sensitive assignment values are redacted and reported as warnings.
|
|
572
572
|
|
|
573
573
|
Exports are not long-lived fact sources. The CLI refuses `project_context/**` and non-temporary output paths, and `validate-context` rejects obvious export artifact names such as `code-level-implementation`, `full-project-context`, legacy Chinese export names, `project-overview`, `context-bundle`, `context-summary` or `context-export` if someone tries to register them in `project_context/context.toml`.
|
|
574
574
|
|