@mriekki/lean 0.0.0-stage → 0.1.0
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 +67 -3
- package/assets/components.json +33 -0
- package/assets/core/distribution.json +51 -0
- package/assets/deployment/distribution.json +34 -0
- package/assets/generated/ASSEMBLY.json +382 -0
- package/assets/generated/core/core/agents/coach.agent.md +69 -0
- package/assets/generated/core/core/agents/reviewer.agent.md +85 -0
- package/assets/generated/core/core/instructions/lean-docs.instructions.md +14 -0
- package/assets/generated/core/core/instructions/lean-workflow.instructions.md +35 -0
- package/assets/generated/core/core/learning/CODING_DRILLS.md +35 -0
- package/assets/generated/core/core/learning/DIAGRAM_GUIDE.md +19 -0
- package/assets/generated/core/core/learning/ENGINEERING_LEARNING_WORKBOOK.md +82 -0
- package/assets/generated/core/core/learning/LEARNING_MAP.md +51 -0
- package/assets/generated/core/core/learning/LEARNING_PROGRESS.md +31 -0
- package/assets/generated/core/core/learning/RESOURCE_CATALOG.md +25 -0
- package/assets/generated/core/core/learning/SQL_DRILLS.md +27 -0
- package/assets/generated/core/core/learning/SYSTEM_DESIGN_DRILLS.md +21 -0
- package/assets/generated/core/core/process/COACHING_GUIDE.md +57 -0
- package/assets/generated/core/core/process/GUIDED_NEXT_STEPS.md +48 -0
- package/assets/generated/core/core/process/HUMAN_GATES.md +81 -0
- package/assets/generated/core/core/process/INTERACTIVE_SESSION_GUIDE.md +62 -0
- package/assets/generated/core/core/process/PRODUCTION_ENABLEMENT.md +59 -0
- package/assets/generated/core/core/process/PR_WORKFLOW.md +53 -0
- package/assets/generated/core/core/process/SETUP_ACCEPTANCE_CHECKLIST.md +72 -0
- package/assets/generated/core/core/process/WORK_ITEM_MODEL.md +56 -0
- package/assets/generated/core/core/skills/cleanup-branches/SKILL.md +190 -0
- package/assets/generated/core/core/skills/coach/SKILL.md +136 -0
- package/assets/generated/core/core/skills/code-walkthrough/SKILL.md +197 -0
- package/assets/generated/core/core/skills/core-sync/SKILL.md +220 -0
- package/assets/generated/core/core/skills/define-feature/SKILL.md +144 -0
- package/assets/generated/core/core/skills/deliver/SKILL.md +315 -0
- package/assets/generated/core/core/skills/deploy/SKILL.md +193 -0
- package/assets/generated/core/core/skills/grill-me/SKILL.md +77 -0
- package/assets/generated/core/core/skills/grill-with-docs/SKILL.md +90 -0
- package/assets/generated/core/core/skills/learning-review/SKILL.md +90 -0
- package/assets/generated/core/core/skills/next-step/SKILL.md +166 -0
- package/assets/generated/core/core/skills/production-readiness/SKILL.md +357 -0
- package/assets/generated/core/core/skills/pull-latest/SKILL.md +166 -0
- package/assets/generated/core/core/skills/refine-requirements/SKILL.md +207 -0
- package/assets/generated/core/core/skills/start-work/SKILL.md +178 -0
- package/assets/generated/core/core/skills/tear-down/SKILL.md +138 -0
- package/assets/generated/core/core/skills/upstream-fix/SKILL.md +206 -0
- package/assets/generated/core/core/skills/wait-what/SKILL.md +86 -0
- package/assets/generated/core/core/templates/FEATURE_BRIEF_TEMPLATE.md +27 -0
- package/assets/generated/core/core/templates/PRODUCT_BRIEF_TEMPLATE.md +27 -0
- package/assets/generated/core/core/templates/PULL_REQUEST_TEMPLATE.md +37 -0
- package/assets/generated/core/core/templates/REQUIREMENTS_TEMPLATE.md +17 -0
- package/assets/generated/core/profiles/greenfield/lean-workspace.json +12 -0
- package/assets/generated/core/tools/package/check_baseline.py +102 -0
- package/assets/generated/core/tools/package/check_upstream.py +171 -0
- package/assets/generated/deployment/distribution/lean-poc-deploy.py +8 -0
- package/assets/generated/deployment/src/lean_poc_deployment/__init__.py +3 -0
- package/assets/generated/deployment/src/lean_poc_deployment/__main__.py +3 -0
- package/assets/generated/deployment/src/lean_poc_deployment/app_cli.py +140 -0
- package/assets/generated/deployment/src/lean_poc_deployment/app_runtime.py +455 -0
- package/assets/generated/deployment/src/lean_poc_deployment/app_runtime_remote.py +416 -0
- package/assets/generated/deployment/src/lean_poc_deployment/box_platform.py +208 -0
- package/assets/generated/deployment/src/lean_poc_deployment/box_platform_assets.py +100 -0
- package/assets/generated/deployment/src/lean_poc_deployment/box_platform_remote.py +271 -0
- package/assets/generated/deployment/src/lean_poc_deployment/cli.py +437 -0
- package/assets/generated/deployment/src/lean_poc_deployment/doctor.py +121 -0
- package/assets/generated/deployment/src/lean_poc_deployment/entrypoint.py +25 -0
- package/assets/generated/deployment/src/lean_poc_deployment/errors.py +5 -0
- package/assets/generated/deployment/src/lean_poc_deployment/keys.py +171 -0
- package/assets/generated/deployment/src/lean_poc_deployment/profiles.py +204 -0
- package/assets/generated/deployment/src/lean_poc_deployment/route_registry.py +367 -0
- package/assets/generated/deployment/src/lean_poc_deployment/route_registry_remote.py +443 -0
- package/assets/generated/deployment/src/lean_poc_deployment/security.py +290 -0
- package/assets/generated/deployment/src/lean_poc_deployment/sqlite_adapter.py +335 -0
- package/assets/generated/deployment/src/lean_poc_deployment/sqlite_adapter_remote.py +340 -0
- package/assets/generated/deployment/src/lean_poc_deployment/sqlite_cli.py +86 -0
- package/assets/generated/deployment/src/lean_poc_deployment/sqlite_import_recovery.py +437 -0
- package/assets/generated/deployment/src/lean_poc_deployment/ssh.py +118 -0
- package/assets/generated/deployment/src/lean_poc_deployment/teardown.py +286 -0
- package/assets/generated/deployment/src/lean_poc_deployment/teardown_cli.py +120 -0
- package/assets/generated/deployment/src/lean_poc_deployment/teardown_remote.py +100 -0
- package/assets/generated/deployment/src/lean_poc_deployment/trust.py +278 -0
- package/bin/lean.mjs +9 -0
- package/package.json +33 -6
- package/src/cli.mjs +131 -0
- package/src/engine.mjs +243 -0
- package/src/package-data.mjs +18 -0
package/README.md
CHANGED
|
@@ -1,3 +1,67 @@
|
|
|
1
|
-
#
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
# Lean Platform
|
|
2
|
+
|
|
3
|
+
`@mriekki/lean` is the public consumer-facing distribution for Lean engineering assets.
|
|
4
|
+
|
|
5
|
+
Canonical engineering remains in the private platform repositories. Before publication, a deterministic assembly step verifies exact pinned source commits and distribution descriptors, then copies only those approved consumer mappings into the npm payload. Each published npm release is therefore self-contained; consumers do not need access to the canonical repositories to install or update Lean assets.
|
|
6
|
+
|
|
7
|
+
## V0.1 profile
|
|
8
|
+
|
|
9
|
+
The initial `greenfield-poc` profile bundles:
|
|
10
|
+
|
|
11
|
+
- Lean Agentic Core `1.10.0` from commit `e2d64b10f1a30507471755339c20e8b58e62be16`, distribution `greenfield-workspace`;
|
|
12
|
+
- Lean POC Deployment Kit commit `4c23140576b39608a3ef285cad4abe53dccb9c47`, distribution `greenfield-poc`.
|
|
13
|
+
|
|
14
|
+
## Developer experience
|
|
15
|
+
|
|
16
|
+
Preview/install:
|
|
17
|
+
|
|
18
|
+
```powershell
|
|
19
|
+
npx @mriekki/lean install
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
When run interactively, the command previews all managed changes and asks once before applying a safe plan. Automation can use `--apply` after reviewing the preview contract.
|
|
23
|
+
|
|
24
|
+
Update using the newest published package:
|
|
25
|
+
|
|
26
|
+
```powershell
|
|
27
|
+
npx @mriekki/lean@latest update
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
Inspect or verify:
|
|
31
|
+
|
|
32
|
+
```powershell
|
|
33
|
+
npx @mriekki/lean@latest status
|
|
34
|
+
npx @mriekki/lean@latest check
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
The umbrella package writes `LEAN_BASELINE.json` while preserving component-native `CORE_BASELINE.json` and `DEPLOYMENT_BASELINE.json` ledgers. Updates refuse managed drift/conflicts before modifying any component. Core retired paths require explicit ownership transfer with `--accept-retired core:<path>`; unchanged Deployment Kit retirements may be removed under its existing ownership contract.
|
|
38
|
+
|
|
39
|
+
## Safety and ownership
|
|
40
|
+
|
|
41
|
+
- npm is the distribution transport, not the canonical source of reusable behavior.
|
|
42
|
+
- package releases pin exact accepted source commits.
|
|
43
|
+
- install/update never require private GitHub access.
|
|
44
|
+
- no install/update lifecycle hook mutates a consumer repository; changes occur only when the user invokes the Lean CLI.
|
|
45
|
+
- one preflight plan covers all selected components; an unsafe component blocks the entire apply.
|
|
46
|
+
- package publication is separate from merging this repository and requires an explicit release action.
|
|
47
|
+
|
|
48
|
+
## Current scope
|
|
49
|
+
|
|
50
|
+
V0.1 intentionally starts with the greenfield POC consumer profile. Existing-repository Adoption Kit packaging can be added as another profile without changing the one-package developer experience.
|
|
51
|
+
|
|
52
|
+
## Package assembly and release
|
|
53
|
+
|
|
54
|
+
The public source repository intentionally does not commit generated private-source snapshots. Prepare an auditable release candidate from clean exact canonical checkouts:
|
|
55
|
+
|
|
56
|
+
```powershell
|
|
57
|
+
Set-Location D:\Projects\lean-platform
|
|
58
|
+
node .\scripts\prepare-release.mjs `
|
|
59
|
+
--core-root D:\Projects\lean-agentic-core `
|
|
60
|
+
--deployment-root D:\Projects\lean-poc-deployment-kit
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
Release preparation verifies exact `origin/main`, runs the complete test suite, refuses dirty canonical source checkouts, assembles and verifies the pinned assets, compares two independent `npm pack` SHA-256 values, and smoke-tests the packed CLI from a clean temporary install. The resulting tarball and `RELEASE_MANIFEST.json` are written under `dist/release/`.
|
|
64
|
+
|
|
65
|
+
The first npm version is staged manually and requires explicit 2FA approval before it becomes public. After the bootstrap version exists, `.github/workflows/npm-stage.yml` can use npm Trusted Publishing (OIDC) to stage future versions without a long-lived npm publish token; human 2FA approval remains the final publication gate.
|
|
66
|
+
|
|
67
|
+
See `docs/RELEASE_PROCESS.md` for the full release contract.
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"package": "@mriekki/lean",
|
|
4
|
+
"version": "0.1.0",
|
|
5
|
+
"defaultProfile": "greenfield-poc",
|
|
6
|
+
"profiles": {
|
|
7
|
+
"greenfield-poc": {
|
|
8
|
+
"components": [
|
|
9
|
+
"core",
|
|
10
|
+
"deployment"
|
|
11
|
+
]
|
|
12
|
+
}
|
|
13
|
+
},
|
|
14
|
+
"components": {
|
|
15
|
+
"core": {
|
|
16
|
+
"repository": "mriekki/lean-agentic-core",
|
|
17
|
+
"commit": "e2d64b10f1a30507471755339c20e8b58e62be16",
|
|
18
|
+
"version": "1.10.0",
|
|
19
|
+
"distribution": "greenfield-workspace",
|
|
20
|
+
"descriptor": "assets/core/distribution.json",
|
|
21
|
+
"sourceRoot": "assets/generated/core",
|
|
22
|
+
"canonicalDescriptor": "distributions/greenfield-workspace.json"
|
|
23
|
+
},
|
|
24
|
+
"deployment": {
|
|
25
|
+
"repository": "mriekki/lean-poc-deployment-kit",
|
|
26
|
+
"commit": "4c23140576b39608a3ef285cad4abe53dccb9c47",
|
|
27
|
+
"distribution": "greenfield-poc",
|
|
28
|
+
"descriptor": "assets/deployment/distribution.json",
|
|
29
|
+
"sourceRoot": "assets/generated/deployment",
|
|
30
|
+
"canonicalDescriptor": "distributions/greenfield-poc.json"
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "greenfield-workspace",
|
|
3
|
+
"profileSource": "profiles/greenfield/lean-workspace.json",
|
|
4
|
+
"profileDestination": ".github/lean-workspace.json",
|
|
5
|
+
"mappings": [
|
|
6
|
+
{"source":"core/agents/reviewer.agent.md","destination":".github/agents/reviewer.agent.md"},
|
|
7
|
+
{"source":"core/agents/coach.agent.md","destination":".github/agents/coach.agent.md"},
|
|
8
|
+
{"source":"core/instructions/lean-workflow.instructions.md","destination":".github/instructions/lean-workflow.instructions.md"},
|
|
9
|
+
{"source":"core/instructions/lean-docs.instructions.md","destination":".github/instructions/lean-docs.instructions.md"},
|
|
10
|
+
{"source":"core/skills/define-feature/SKILL.md","destination":".github/skills/define-feature/SKILL.md"},
|
|
11
|
+
{"source":"core/skills/grill-me/SKILL.md","destination":".github/skills/grill-me/SKILL.md"},
|
|
12
|
+
{"source":"core/skills/grill-with-docs/SKILL.md","destination":".github/skills/grill-with-docs/SKILL.md"},
|
|
13
|
+
{"source":"core/skills/refine-requirements/SKILL.md","destination":".github/skills/refine-requirements/SKILL.md"},
|
|
14
|
+
{"source":"core/skills/start-work/SKILL.md","destination":".github/skills/start-work/SKILL.md"},
|
|
15
|
+
{"source":"core/skills/next-step/SKILL.md","destination":".github/skills/next-step/SKILL.md"},
|
|
16
|
+
{"source":"core/skills/deliver/SKILL.md","destination":".github/skills/deliver/SKILL.md"},
|
|
17
|
+
{"source":"core/skills/cleanup-branches/SKILL.md","destination":".github/skills/cleanup-branches/SKILL.md"},
|
|
18
|
+
{"source":"core/skills/pull-latest/SKILL.md","destination":".github/skills/pull-latest/SKILL.md"},
|
|
19
|
+
{"source":"core/skills/core-sync/SKILL.md","destination":".github/skills/core-sync/SKILL.md"},
|
|
20
|
+
{"source":"core/skills/upstream-fix/SKILL.md","destination":".github/skills/upstream-fix/SKILL.md"},
|
|
21
|
+
{"source":"core/skills/wait-what/SKILL.md","destination":".github/skills/wait-what/SKILL.md"},
|
|
22
|
+
{"source":"core/skills/production-readiness/SKILL.md","destination":".github/skills/production-readiness/SKILL.md"},
|
|
23
|
+
{"source":"core/skills/deploy/SKILL.md","destination":".github/skills/deploy/SKILL.md"},
|
|
24
|
+
{"source":"core/skills/tear-down/SKILL.md","destination":".github/skills/tear-down/SKILL.md"},
|
|
25
|
+
{"source":"core/skills/coach/SKILL.md","destination":".github/skills/coach/SKILL.md"},
|
|
26
|
+
{"source":"core/skills/code-walkthrough/SKILL.md","destination":".github/skills/code-walkthrough/SKILL.md"},
|
|
27
|
+
{"source":"core/skills/learning-review/SKILL.md","destination":".github/skills/learning-review/SKILL.md"},
|
|
28
|
+
{"source":"core/process/WORK_ITEM_MODEL.md","destination":"docs/process/WORK_ITEM_MODEL.md"},
|
|
29
|
+
{"source":"core/process/PR_WORKFLOW.md","destination":"docs/process/PR_WORKFLOW.md"},
|
|
30
|
+
{"source":"core/process/PRODUCTION_ENABLEMENT.md","destination":"docs/process/PRODUCTION_ENABLEMENT.md"},
|
|
31
|
+
{"source":"core/process/HUMAN_GATES.md","destination":"docs/process/HUMAN_IN_LOOP_GATES.md"},
|
|
32
|
+
{"source":"core/process/GUIDED_NEXT_STEPS.md","destination":"docs/process/GUIDED_NEXT_STEPS.md"},
|
|
33
|
+
{"source":"core/process/INTERACTIVE_SESSION_GUIDE.md","destination":"docs/process/INTERACTIVE_SESSION_GUIDE.md"},
|
|
34
|
+
{"source":"core/process/COACHING_GUIDE.md","destination":"docs/process/COACHING_GUIDE.md"},
|
|
35
|
+
{"source":"core/process/SETUP_ACCEPTANCE_CHECKLIST.md","destination":"docs/process/SETUP_ACCEPTANCE_CHECKLIST.md"},
|
|
36
|
+
{"source":"core/templates/PULL_REQUEST_TEMPLATE.md","destination":".github/PULL_REQUEST_TEMPLATE.md"},
|
|
37
|
+
{"source":"core/templates/PRODUCT_BRIEF_TEMPLATE.md","destination":"docs/templates/PRODUCT_BRIEF_TEMPLATE.md"},
|
|
38
|
+
{"source":"core/templates/FEATURE_BRIEF_TEMPLATE.md","destination":"docs/templates/FEATURE_BRIEF_TEMPLATE.md"},
|
|
39
|
+
{"source":"core/templates/REQUIREMENTS_TEMPLATE.md","destination":"docs/templates/REQUIREMENTS_TEMPLATE.md"},
|
|
40
|
+
{"source":"core/learning/ENGINEERING_LEARNING_WORKBOOK.md","destination":"learning/ENGINEERING_LEARNING_WORKBOOK.md"},
|
|
41
|
+
{"source":"core/learning/LEARNING_MAP.md","destination":"learning/LEARNING_MAP.md"},
|
|
42
|
+
{"source":"core/learning/LEARNING_PROGRESS.md","destination":"learning/LEARNING_PROGRESS.md"},
|
|
43
|
+
{"source":"core/learning/CODING_DRILLS.md","destination":"learning/CODING_DRILLS.md"},
|
|
44
|
+
{"source":"core/learning/SQL_DRILLS.md","destination":"learning/SQL_DRILLS.md"},
|
|
45
|
+
{"source":"core/learning/SYSTEM_DESIGN_DRILLS.md","destination":"learning/SYSTEM_DESIGN_DRILLS.md"},
|
|
46
|
+
{"source":"core/learning/DIAGRAM_GUIDE.md","destination":"learning/DIAGRAM_GUIDE.md"},
|
|
47
|
+
{"source":"core/learning/RESOURCE_CATALOG.md","destination":"learning/RESOURCE_CATALOG.md"},
|
|
48
|
+
{"source":"tools/package/check_baseline.py","destination":"tools/lean-core/check-core-baseline.py"},
|
|
49
|
+
{"source":"tools/package/check_upstream.py","destination":"tools/lean-core/check-core-upstream.py"}
|
|
50
|
+
]
|
|
51
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "greenfield-poc",
|
|
3
|
+
"schemaVersion": 1,
|
|
4
|
+
"description": "Reusable deployment tooling for generated disposable Lean POCs.",
|
|
5
|
+
"mappings": [
|
|
6
|
+
{"source": "distribution/lean-poc-deploy.py", "destination": "tools/lean-deployment/lean-poc-deploy.py"},
|
|
7
|
+
{"source": "src/lean_poc_deployment/__init__.py", "destination": "tools/lean-deployment/lean_poc_deployment/__init__.py"},
|
|
8
|
+
{"source": "src/lean_poc_deployment/__main__.py", "destination": "tools/lean-deployment/lean_poc_deployment/__main__.py"},
|
|
9
|
+
{"source": "src/lean_poc_deployment/app_cli.py", "destination": "tools/lean-deployment/lean_poc_deployment/app_cli.py"},
|
|
10
|
+
{"source": "src/lean_poc_deployment/app_runtime.py", "destination": "tools/lean-deployment/lean_poc_deployment/app_runtime.py"},
|
|
11
|
+
{"source": "src/lean_poc_deployment/app_runtime_remote.py", "destination": "tools/lean-deployment/lean_poc_deployment/app_runtime_remote.py"},
|
|
12
|
+
{"source": "src/lean_poc_deployment/box_platform.py", "destination": "tools/lean-deployment/lean_poc_deployment/box_platform.py"},
|
|
13
|
+
{"source": "src/lean_poc_deployment/box_platform_assets.py", "destination": "tools/lean-deployment/lean_poc_deployment/box_platform_assets.py"},
|
|
14
|
+
{"source": "src/lean_poc_deployment/box_platform_remote.py", "destination": "tools/lean-deployment/lean_poc_deployment/box_platform_remote.py"},
|
|
15
|
+
{"source": "src/lean_poc_deployment/cli.py", "destination": "tools/lean-deployment/lean_poc_deployment/cli.py"},
|
|
16
|
+
{"source": "src/lean_poc_deployment/doctor.py", "destination": "tools/lean-deployment/lean_poc_deployment/doctor.py"},
|
|
17
|
+
{"source": "src/lean_poc_deployment/entrypoint.py", "destination": "tools/lean-deployment/lean_poc_deployment/entrypoint.py"},
|
|
18
|
+
{"source": "src/lean_poc_deployment/errors.py", "destination": "tools/lean-deployment/lean_poc_deployment/errors.py"},
|
|
19
|
+
{"source": "src/lean_poc_deployment/keys.py", "destination": "tools/lean-deployment/lean_poc_deployment/keys.py"},
|
|
20
|
+
{"source": "src/lean_poc_deployment/profiles.py", "destination": "tools/lean-deployment/lean_poc_deployment/profiles.py"},
|
|
21
|
+
{"source": "src/lean_poc_deployment/teardown.py", "destination": "tools/lean-deployment/lean_poc_deployment/teardown.py"},
|
|
22
|
+
{"source": "src/lean_poc_deployment/teardown_cli.py", "destination": "tools/lean-deployment/lean_poc_deployment/teardown_cli.py"},
|
|
23
|
+
{"source": "src/lean_poc_deployment/teardown_remote.py", "destination": "tools/lean-deployment/lean_poc_deployment/teardown_remote.py"},
|
|
24
|
+
{"source": "src/lean_poc_deployment/route_registry.py", "destination": "tools/lean-deployment/lean_poc_deployment/route_registry.py"},
|
|
25
|
+
{"source": "src/lean_poc_deployment/route_registry_remote.py", "destination": "tools/lean-deployment/lean_poc_deployment/route_registry_remote.py"},
|
|
26
|
+
{"source": "src/lean_poc_deployment/security.py", "destination": "tools/lean-deployment/lean_poc_deployment/security.py"},
|
|
27
|
+
{"source": "src/lean_poc_deployment/sqlite_adapter.py", "destination": "tools/lean-deployment/lean_poc_deployment/sqlite_adapter.py"},
|
|
28
|
+
{"source": "src/lean_poc_deployment/sqlite_adapter_remote.py", "destination": "tools/lean-deployment/lean_poc_deployment/sqlite_adapter_remote.py"},
|
|
29
|
+
{"source": "src/lean_poc_deployment/sqlite_cli.py", "destination": "tools/lean-deployment/lean_poc_deployment/sqlite_cli.py"},
|
|
30
|
+
{"source": "src/lean_poc_deployment/sqlite_import_recovery.py", "destination": "tools/lean-deployment/lean_poc_deployment/sqlite_import_recovery.py"},
|
|
31
|
+
{"source": "src/lean_poc_deployment/ssh.py", "destination": "tools/lean-deployment/lean_poc_deployment/ssh.py"},
|
|
32
|
+
{"source": "src/lean_poc_deployment/trust.py", "destination": "tools/lean-deployment/lean_poc_deployment/trust.py"}
|
|
33
|
+
]
|
|
34
|
+
}
|
|
@@ -0,0 +1,382 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"package": "@mriekki/lean",
|
|
4
|
+
"version": "0.1.0",
|
|
5
|
+
"components": {
|
|
6
|
+
"core": {
|
|
7
|
+
"repository": "mriekki/lean-agentic-core",
|
|
8
|
+
"commit": "e2d64b10f1a30507471755339c20e8b58e62be16",
|
|
9
|
+
"version": "1.10.0",
|
|
10
|
+
"distribution": "greenfield-workspace",
|
|
11
|
+
"files": [
|
|
12
|
+
{
|
|
13
|
+
"source": "profiles/greenfield/lean-workspace.json",
|
|
14
|
+
"destination": ".github/lean-workspace.json",
|
|
15
|
+
"sha256": "c827fabe0ca3130edbdd5fb3f62d8a05c921d5834f058bcb4ad641e400565b92"
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"source": "core/agents/reviewer.agent.md",
|
|
19
|
+
"destination": ".github/agents/reviewer.agent.md",
|
|
20
|
+
"sha256": "7a2c1b52dfb75a2d71da1b82c6d186330b596473689712d65e51a3a9c390a25c"
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"source": "core/agents/coach.agent.md",
|
|
24
|
+
"destination": ".github/agents/coach.agent.md",
|
|
25
|
+
"sha256": "f2da3ed8ba1890f0886615c0d7a66411265524dcaf04648ef10dfd195dde522e"
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"source": "core/instructions/lean-workflow.instructions.md",
|
|
29
|
+
"destination": ".github/instructions/lean-workflow.instructions.md",
|
|
30
|
+
"sha256": "ef6fcd56c5959cfe61a815b8edaabceaa6ca9b7eb4eb7bf8166eb2ea727fb98d"
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"source": "core/instructions/lean-docs.instructions.md",
|
|
34
|
+
"destination": ".github/instructions/lean-docs.instructions.md",
|
|
35
|
+
"sha256": "9d2d596fb9fc6c6f8afcc68ca6e4c94b2c50b396f3d970ef26797ae51cb03202"
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
"source": "core/skills/define-feature/SKILL.md",
|
|
39
|
+
"destination": ".github/skills/define-feature/SKILL.md",
|
|
40
|
+
"sha256": "11a76307d7f4c25986e123e7b6c48f19aa4c50f7fa6e4f2daaf7636c7049be3b"
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"source": "core/skills/grill-me/SKILL.md",
|
|
44
|
+
"destination": ".github/skills/grill-me/SKILL.md",
|
|
45
|
+
"sha256": "c46d703d6a04d18508bda86b9bf601dad96e60848bd46f643f710a9c2180be38"
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"source": "core/skills/grill-with-docs/SKILL.md",
|
|
49
|
+
"destination": ".github/skills/grill-with-docs/SKILL.md",
|
|
50
|
+
"sha256": "bc5171013fd65552c7d825ebeae95b7e9b9094d66b69a402e2eee5c95b4a7001"
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"source": "core/skills/refine-requirements/SKILL.md",
|
|
54
|
+
"destination": ".github/skills/refine-requirements/SKILL.md",
|
|
55
|
+
"sha256": "edb7ac78fab0eae96dfec4eda563a4c6325885bb65e3af911365e2a6359955c6"
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
"source": "core/skills/start-work/SKILL.md",
|
|
59
|
+
"destination": ".github/skills/start-work/SKILL.md",
|
|
60
|
+
"sha256": "dfdb038560871752e7a9e223efec8a807afb786c5f83dc2b46699470d05c883b"
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
"source": "core/skills/next-step/SKILL.md",
|
|
64
|
+
"destination": ".github/skills/next-step/SKILL.md",
|
|
65
|
+
"sha256": "c8b3bc84dbf3f126aa35e5dbc48fd6985de91d9c0f981ec47777e515c01b63ef"
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
"source": "core/skills/deliver/SKILL.md",
|
|
69
|
+
"destination": ".github/skills/deliver/SKILL.md",
|
|
70
|
+
"sha256": "f5a16438406571c34cc876242a2aa4d593b028509b78bdeb2b2942529b1a9b6d"
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
"source": "core/skills/cleanup-branches/SKILL.md",
|
|
74
|
+
"destination": ".github/skills/cleanup-branches/SKILL.md",
|
|
75
|
+
"sha256": "5b76cc705494ee2b99f4fef89f7d8af1c3cdc4d2a8f7c3363e50d0ed96225c39"
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
"source": "core/skills/pull-latest/SKILL.md",
|
|
79
|
+
"destination": ".github/skills/pull-latest/SKILL.md",
|
|
80
|
+
"sha256": "d49321859fe37afeb5d9e0b39ceac3d8a6709f6e02efd19b6cac37842fe3aa37"
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
"source": "core/skills/core-sync/SKILL.md",
|
|
84
|
+
"destination": ".github/skills/core-sync/SKILL.md",
|
|
85
|
+
"sha256": "6b2393639f3cc0581bed0df8667fc67691ae915d137b9f070c60bbdb042148a6"
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
"source": "core/skills/upstream-fix/SKILL.md",
|
|
89
|
+
"destination": ".github/skills/upstream-fix/SKILL.md",
|
|
90
|
+
"sha256": "26d979b8876db4031f7e95887ab16a7c530d1fcd60043410ed8d20c4ea5f5301"
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
"source": "core/skills/wait-what/SKILL.md",
|
|
94
|
+
"destination": ".github/skills/wait-what/SKILL.md",
|
|
95
|
+
"sha256": "9b5968158992681837071b60465682a887540b1fdab510861ed739ffa996fbdb"
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
"source": "core/skills/production-readiness/SKILL.md",
|
|
99
|
+
"destination": ".github/skills/production-readiness/SKILL.md",
|
|
100
|
+
"sha256": "adc45c556902f039b918f20bf484a05f9213103d5875b1ba7fa9c58dd0dca4d6"
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
"source": "core/skills/deploy/SKILL.md",
|
|
104
|
+
"destination": ".github/skills/deploy/SKILL.md",
|
|
105
|
+
"sha256": "57fca71a95a32f4dd17ed3fba13b9b1ccbd644082de175622960d9c65aaa47a0"
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
"source": "core/skills/tear-down/SKILL.md",
|
|
109
|
+
"destination": ".github/skills/tear-down/SKILL.md",
|
|
110
|
+
"sha256": "8826be8f97c5dab673c050c5ae7f959c5959871c401b0b3b7e6869660e669d93"
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
"source": "core/skills/coach/SKILL.md",
|
|
114
|
+
"destination": ".github/skills/coach/SKILL.md",
|
|
115
|
+
"sha256": "123983c51bd2d9958d8a6593101dc57eb6e4974cc9678d17c434ac61d29e4378"
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
"source": "core/skills/code-walkthrough/SKILL.md",
|
|
119
|
+
"destination": ".github/skills/code-walkthrough/SKILL.md",
|
|
120
|
+
"sha256": "0391f98dac6dfd41882c330425567ae595fde01fce63de521563c95647d2b889"
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
"source": "core/skills/learning-review/SKILL.md",
|
|
124
|
+
"destination": ".github/skills/learning-review/SKILL.md",
|
|
125
|
+
"sha256": "b77ccbbd85fbe6c8d77d42bfea4b0d474e320c182f7d1f72010ff2301d869e66"
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
"source": "core/process/WORK_ITEM_MODEL.md",
|
|
129
|
+
"destination": "docs/process/WORK_ITEM_MODEL.md",
|
|
130
|
+
"sha256": "ca4783e1791c2a4fd081d075d20263fcc3a8a5740342db611d75812aecda65e5"
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
"source": "core/process/PR_WORKFLOW.md",
|
|
134
|
+
"destination": "docs/process/PR_WORKFLOW.md",
|
|
135
|
+
"sha256": "8d1bcabf6d1b72705ca9e7e0cd348b71102805b041dba601fa6dd93d5063b1ed"
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
"source": "core/process/PRODUCTION_ENABLEMENT.md",
|
|
139
|
+
"destination": "docs/process/PRODUCTION_ENABLEMENT.md",
|
|
140
|
+
"sha256": "d2580b76144fad0e7d429802f8cdaba3ed022b4580c2e311c01f81b9a5a09bab"
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
"source": "core/process/HUMAN_GATES.md",
|
|
144
|
+
"destination": "docs/process/HUMAN_IN_LOOP_GATES.md",
|
|
145
|
+
"sha256": "cc8f5c01f7c5ac1c745a87f810493eb9d1a3b1c76b46b64ed27830dd5838f33c"
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
"source": "core/process/GUIDED_NEXT_STEPS.md",
|
|
149
|
+
"destination": "docs/process/GUIDED_NEXT_STEPS.md",
|
|
150
|
+
"sha256": "729655e6e764ec364284ffe860749da45bde8d05f8b46019d74df524b6b6b40d"
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
"source": "core/process/INTERACTIVE_SESSION_GUIDE.md",
|
|
154
|
+
"destination": "docs/process/INTERACTIVE_SESSION_GUIDE.md",
|
|
155
|
+
"sha256": "12c19b70924087824ae49369fdbe7bfb79b699e17285ada27d2f5cd4a5820098"
|
|
156
|
+
},
|
|
157
|
+
{
|
|
158
|
+
"source": "core/process/COACHING_GUIDE.md",
|
|
159
|
+
"destination": "docs/process/COACHING_GUIDE.md",
|
|
160
|
+
"sha256": "0ccadef39db53f85a5092cb4d1343ed3c1fe13291291afd33c59d5a60fd22905"
|
|
161
|
+
},
|
|
162
|
+
{
|
|
163
|
+
"source": "core/process/SETUP_ACCEPTANCE_CHECKLIST.md",
|
|
164
|
+
"destination": "docs/process/SETUP_ACCEPTANCE_CHECKLIST.md",
|
|
165
|
+
"sha256": "66007762f6a712925cd8d338954fbcced71aed3dfe447d22c4aa30c9230b24da"
|
|
166
|
+
},
|
|
167
|
+
{
|
|
168
|
+
"source": "core/templates/PULL_REQUEST_TEMPLATE.md",
|
|
169
|
+
"destination": ".github/PULL_REQUEST_TEMPLATE.md",
|
|
170
|
+
"sha256": "1b70e40b55ccc548a317d06105e959c8b4d28fb7bb2a7ce8a2976c42bb31a5ac"
|
|
171
|
+
},
|
|
172
|
+
{
|
|
173
|
+
"source": "core/templates/PRODUCT_BRIEF_TEMPLATE.md",
|
|
174
|
+
"destination": "docs/templates/PRODUCT_BRIEF_TEMPLATE.md",
|
|
175
|
+
"sha256": "fcab7508dd5d53ea9dac3a35b7c31b4adac8c1c37b5df2224f2fb47c52432f58"
|
|
176
|
+
},
|
|
177
|
+
{
|
|
178
|
+
"source": "core/templates/FEATURE_BRIEF_TEMPLATE.md",
|
|
179
|
+
"destination": "docs/templates/FEATURE_BRIEF_TEMPLATE.md",
|
|
180
|
+
"sha256": "d09737d7e67b7bad50a779ce0a6b3a95d17ba9de7a2e60423763ea3d934ce768"
|
|
181
|
+
},
|
|
182
|
+
{
|
|
183
|
+
"source": "core/templates/REQUIREMENTS_TEMPLATE.md",
|
|
184
|
+
"destination": "docs/templates/REQUIREMENTS_TEMPLATE.md",
|
|
185
|
+
"sha256": "ec85cc723071edb01f09acca41e20e9833afe21d06d103b39dfcdbfb59a31aed"
|
|
186
|
+
},
|
|
187
|
+
{
|
|
188
|
+
"source": "core/learning/ENGINEERING_LEARNING_WORKBOOK.md",
|
|
189
|
+
"destination": "learning/ENGINEERING_LEARNING_WORKBOOK.md",
|
|
190
|
+
"sha256": "fd9d6b3561c5d433be4a58ad2d8c74f30e2c831d7de6cd7296a1b3f8999c55da"
|
|
191
|
+
},
|
|
192
|
+
{
|
|
193
|
+
"source": "core/learning/LEARNING_MAP.md",
|
|
194
|
+
"destination": "learning/LEARNING_MAP.md",
|
|
195
|
+
"sha256": "48985521dd22213add526910ead486db2ca54e88533d49bd35cd6bcda5f92180"
|
|
196
|
+
},
|
|
197
|
+
{
|
|
198
|
+
"source": "core/learning/LEARNING_PROGRESS.md",
|
|
199
|
+
"destination": "learning/LEARNING_PROGRESS.md",
|
|
200
|
+
"sha256": "c47e5ff009a789046998d67dae1d67dfca8a7ada2f963362747faea0edb11e1e"
|
|
201
|
+
},
|
|
202
|
+
{
|
|
203
|
+
"source": "core/learning/CODING_DRILLS.md",
|
|
204
|
+
"destination": "learning/CODING_DRILLS.md",
|
|
205
|
+
"sha256": "cbdb054ea5571b1c79f6dcf104bffb1b830ac8b99f04eb77dcede4b00d1f1234"
|
|
206
|
+
},
|
|
207
|
+
{
|
|
208
|
+
"source": "core/learning/SQL_DRILLS.md",
|
|
209
|
+
"destination": "learning/SQL_DRILLS.md",
|
|
210
|
+
"sha256": "22075d135afbee73aabb11a33077946a0444362ff3f678495386b0996da6a95c"
|
|
211
|
+
},
|
|
212
|
+
{
|
|
213
|
+
"source": "core/learning/SYSTEM_DESIGN_DRILLS.md",
|
|
214
|
+
"destination": "learning/SYSTEM_DESIGN_DRILLS.md",
|
|
215
|
+
"sha256": "4d197fe4bf2f618dcc212db304fd18f450ed3955fdce4ac2722371ee52b12a58"
|
|
216
|
+
},
|
|
217
|
+
{
|
|
218
|
+
"source": "core/learning/DIAGRAM_GUIDE.md",
|
|
219
|
+
"destination": "learning/DIAGRAM_GUIDE.md",
|
|
220
|
+
"sha256": "c4626c30f3d0f8212b9a8b0d3e4f2ead4ff067bc4e015e801d8c35b00838e365"
|
|
221
|
+
},
|
|
222
|
+
{
|
|
223
|
+
"source": "core/learning/RESOURCE_CATALOG.md",
|
|
224
|
+
"destination": "learning/RESOURCE_CATALOG.md",
|
|
225
|
+
"sha256": "88fc894dd51da7280aabd3df439bcbda337f437ece43640d86dfc0842dd0f91e"
|
|
226
|
+
},
|
|
227
|
+
{
|
|
228
|
+
"source": "tools/package/check_baseline.py",
|
|
229
|
+
"destination": "tools/lean-core/check-core-baseline.py",
|
|
230
|
+
"sha256": "fdd8c85a29e7549cc469e50f592a006cef45c7b92cc19b35e9c7f1ab2b351365"
|
|
231
|
+
},
|
|
232
|
+
{
|
|
233
|
+
"source": "tools/package/check_upstream.py",
|
|
234
|
+
"destination": "tools/lean-core/check-core-upstream.py",
|
|
235
|
+
"sha256": "1d59c11f1fb4d4a704e8685f34b1d0402db97fd26142934905509cb030505c23"
|
|
236
|
+
}
|
|
237
|
+
]
|
|
238
|
+
},
|
|
239
|
+
"deployment": {
|
|
240
|
+
"repository": "mriekki/lean-poc-deployment-kit",
|
|
241
|
+
"commit": "4c23140576b39608a3ef285cad4abe53dccb9c47",
|
|
242
|
+
"distribution": "greenfield-poc",
|
|
243
|
+
"files": [
|
|
244
|
+
{
|
|
245
|
+
"source": "distribution/lean-poc-deploy.py",
|
|
246
|
+
"destination": "tools/lean-deployment/lean-poc-deploy.py",
|
|
247
|
+
"sha256": "98e282d4f85999c3a37c47af6805cfa645f7de6e7e2e4a686e4d0012850805df"
|
|
248
|
+
},
|
|
249
|
+
{
|
|
250
|
+
"source": "src/lean_poc_deployment/__init__.py",
|
|
251
|
+
"destination": "tools/lean-deployment/lean_poc_deployment/__init__.py",
|
|
252
|
+
"sha256": "9f84e6ff170f657459fc461833007f874c6fdd4f6c6d3964ee41d7ec3d0e33d0"
|
|
253
|
+
},
|
|
254
|
+
{
|
|
255
|
+
"source": "src/lean_poc_deployment/__main__.py",
|
|
256
|
+
"destination": "tools/lean-deployment/lean_poc_deployment/__main__.py",
|
|
257
|
+
"sha256": "5791f61aa75f2048bb7ef968f382ca81b7c14520599f0d358113fde33392e7ee"
|
|
258
|
+
},
|
|
259
|
+
{
|
|
260
|
+
"source": "src/lean_poc_deployment/app_cli.py",
|
|
261
|
+
"destination": "tools/lean-deployment/lean_poc_deployment/app_cli.py",
|
|
262
|
+
"sha256": "a70e0471a34a111eecf4c26c49a76273b53dd67351f9c57484bf58a7372baf4a"
|
|
263
|
+
},
|
|
264
|
+
{
|
|
265
|
+
"source": "src/lean_poc_deployment/app_runtime.py",
|
|
266
|
+
"destination": "tools/lean-deployment/lean_poc_deployment/app_runtime.py",
|
|
267
|
+
"sha256": "9cd033b0d483dabf28c9ff4289a0d7621e8e8355704c94221238fa33905b9ae4"
|
|
268
|
+
},
|
|
269
|
+
{
|
|
270
|
+
"source": "src/lean_poc_deployment/app_runtime_remote.py",
|
|
271
|
+
"destination": "tools/lean-deployment/lean_poc_deployment/app_runtime_remote.py",
|
|
272
|
+
"sha256": "7433314dedf08a189b7c672897a499367511778bedc0f1080ae6c72bb86f9867"
|
|
273
|
+
},
|
|
274
|
+
{
|
|
275
|
+
"source": "src/lean_poc_deployment/box_platform.py",
|
|
276
|
+
"destination": "tools/lean-deployment/lean_poc_deployment/box_platform.py",
|
|
277
|
+
"sha256": "346f3f61252bc61f052ddc1865d6843a4ca512f6a5f67d80d0e13c7d878863ba"
|
|
278
|
+
},
|
|
279
|
+
{
|
|
280
|
+
"source": "src/lean_poc_deployment/box_platform_assets.py",
|
|
281
|
+
"destination": "tools/lean-deployment/lean_poc_deployment/box_platform_assets.py",
|
|
282
|
+
"sha256": "c2787fc800afec76183fbcb0bb27e96b016ea65b6a5fec62595eb68b01b90561"
|
|
283
|
+
},
|
|
284
|
+
{
|
|
285
|
+
"source": "src/lean_poc_deployment/box_platform_remote.py",
|
|
286
|
+
"destination": "tools/lean-deployment/lean_poc_deployment/box_platform_remote.py",
|
|
287
|
+
"sha256": "1e5094c48ada1b92e19e94d2ad8140de54645da3ab32d3ae2a09478f459d2e7d"
|
|
288
|
+
},
|
|
289
|
+
{
|
|
290
|
+
"source": "src/lean_poc_deployment/cli.py",
|
|
291
|
+
"destination": "tools/lean-deployment/lean_poc_deployment/cli.py",
|
|
292
|
+
"sha256": "d6da84777cdae2e55dd636adc3e90fc8cbc777a29dd5df85a936c1cbb2cf3f05"
|
|
293
|
+
},
|
|
294
|
+
{
|
|
295
|
+
"source": "src/lean_poc_deployment/doctor.py",
|
|
296
|
+
"destination": "tools/lean-deployment/lean_poc_deployment/doctor.py",
|
|
297
|
+
"sha256": "1b86ee7df00b5e10c3859bc227562d14a954ebbe9f68fea12ff63f290e888926"
|
|
298
|
+
},
|
|
299
|
+
{
|
|
300
|
+
"source": "src/lean_poc_deployment/entrypoint.py",
|
|
301
|
+
"destination": "tools/lean-deployment/lean_poc_deployment/entrypoint.py",
|
|
302
|
+
"sha256": "62112d18f265dea737748e61216c25f9c52a1174e0d4bd69d6afe09fa8097e26"
|
|
303
|
+
},
|
|
304
|
+
{
|
|
305
|
+
"source": "src/lean_poc_deployment/errors.py",
|
|
306
|
+
"destination": "tools/lean-deployment/lean_poc_deployment/errors.py",
|
|
307
|
+
"sha256": "ecee46ca5746e5225a4cc30aa2cdc57a8746658d9b3ab45f7c9a775e24f9b5b6"
|
|
308
|
+
},
|
|
309
|
+
{
|
|
310
|
+
"source": "src/lean_poc_deployment/keys.py",
|
|
311
|
+
"destination": "tools/lean-deployment/lean_poc_deployment/keys.py",
|
|
312
|
+
"sha256": "91777f7c0716d44157320fcbadae1bd2c24d04caa1dce5c15c7fca91af3a2e02"
|
|
313
|
+
},
|
|
314
|
+
{
|
|
315
|
+
"source": "src/lean_poc_deployment/profiles.py",
|
|
316
|
+
"destination": "tools/lean-deployment/lean_poc_deployment/profiles.py",
|
|
317
|
+
"sha256": "f9d1ae5e0690dc2e4e733153bb5f4427e53636a2c224a5e67c35493702733d7e"
|
|
318
|
+
},
|
|
319
|
+
{
|
|
320
|
+
"source": "src/lean_poc_deployment/teardown.py",
|
|
321
|
+
"destination": "tools/lean-deployment/lean_poc_deployment/teardown.py",
|
|
322
|
+
"sha256": "041d93558ed69379429c193c5a058c2aa5ba8991c0a57ce3387b61c65fbd76a0"
|
|
323
|
+
},
|
|
324
|
+
{
|
|
325
|
+
"source": "src/lean_poc_deployment/teardown_cli.py",
|
|
326
|
+
"destination": "tools/lean-deployment/lean_poc_deployment/teardown_cli.py",
|
|
327
|
+
"sha256": "cae6721ad047822ac77942059bd4da3f34af382002eb284f144d4aae8470f69f"
|
|
328
|
+
},
|
|
329
|
+
{
|
|
330
|
+
"source": "src/lean_poc_deployment/teardown_remote.py",
|
|
331
|
+
"destination": "tools/lean-deployment/lean_poc_deployment/teardown_remote.py",
|
|
332
|
+
"sha256": "a3f30f66d1d7ad2d54ec9d2e55fe1cd4112f655e51ee0f4d24682ec3ed4cf9dd"
|
|
333
|
+
},
|
|
334
|
+
{
|
|
335
|
+
"source": "src/lean_poc_deployment/route_registry.py",
|
|
336
|
+
"destination": "tools/lean-deployment/lean_poc_deployment/route_registry.py",
|
|
337
|
+
"sha256": "a3404ce7a4a84f2daa33f30eb09ffe19eaf19c72a44ae8a986d9b5ef0e7fc729"
|
|
338
|
+
},
|
|
339
|
+
{
|
|
340
|
+
"source": "src/lean_poc_deployment/route_registry_remote.py",
|
|
341
|
+
"destination": "tools/lean-deployment/lean_poc_deployment/route_registry_remote.py",
|
|
342
|
+
"sha256": "e7254f6949e3e234ed113eccec492976aacbbedaa5ea127ebdcebd9fdf12959b"
|
|
343
|
+
},
|
|
344
|
+
{
|
|
345
|
+
"source": "src/lean_poc_deployment/security.py",
|
|
346
|
+
"destination": "tools/lean-deployment/lean_poc_deployment/security.py",
|
|
347
|
+
"sha256": "e18c93066132b176b95d91cd423cd6047648a492c8efc992d6ea2c9f633ad7b3"
|
|
348
|
+
},
|
|
349
|
+
{
|
|
350
|
+
"source": "src/lean_poc_deployment/sqlite_adapter.py",
|
|
351
|
+
"destination": "tools/lean-deployment/lean_poc_deployment/sqlite_adapter.py",
|
|
352
|
+
"sha256": "a9627729b66a50f743b05918da705a10f59efd519b5395c3f4ffdb25f7c54bb0"
|
|
353
|
+
},
|
|
354
|
+
{
|
|
355
|
+
"source": "src/lean_poc_deployment/sqlite_adapter_remote.py",
|
|
356
|
+
"destination": "tools/lean-deployment/lean_poc_deployment/sqlite_adapter_remote.py",
|
|
357
|
+
"sha256": "5f24e730d76b357edd11f0bc98a8869fcb132cedde82374f4ae7690bba754b66"
|
|
358
|
+
},
|
|
359
|
+
{
|
|
360
|
+
"source": "src/lean_poc_deployment/sqlite_cli.py",
|
|
361
|
+
"destination": "tools/lean-deployment/lean_poc_deployment/sqlite_cli.py",
|
|
362
|
+
"sha256": "83db4958fa84c2c52a5ebea242a0a7beb0222bc4ba8a03c32121ab8e7c9c8212"
|
|
363
|
+
},
|
|
364
|
+
{
|
|
365
|
+
"source": "src/lean_poc_deployment/sqlite_import_recovery.py",
|
|
366
|
+
"destination": "tools/lean-deployment/lean_poc_deployment/sqlite_import_recovery.py",
|
|
367
|
+
"sha256": "90524f94f46789786fb5d40fb7c402d54cfc8618f7bc1dd9a94605cabe4fb6fe"
|
|
368
|
+
},
|
|
369
|
+
{
|
|
370
|
+
"source": "src/lean_poc_deployment/ssh.py",
|
|
371
|
+
"destination": "tools/lean-deployment/lean_poc_deployment/ssh.py",
|
|
372
|
+
"sha256": "42fe2ae7e57695b74b387cec33e413bfb61da46a18a92d6d457f70278e91a4bf"
|
|
373
|
+
},
|
|
374
|
+
{
|
|
375
|
+
"source": "src/lean_poc_deployment/trust.py",
|
|
376
|
+
"destination": "tools/lean-deployment/lean_poc_deployment/trust.py",
|
|
377
|
+
"sha256": "fdc6ddd7fca6f5ee310d6d50250d5b364fb4a0e92c71b6758e6b7f0045461645"
|
|
378
|
+
}
|
|
379
|
+
]
|
|
380
|
+
}
|
|
381
|
+
}
|
|
382
|
+
}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Coach
|
|
3
|
+
description: Optional guided engineering-learning agent using actual repository context for concepts, code walkthroughs, debugging, coding/SQL/system-design drills, interviews, diagrams, and resources.
|
|
4
|
+
user-invocable: true
|
|
5
|
+
disable-model-invocation: true
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Coach
|
|
9
|
+
|
|
10
|
+
You are the optional engineering-learning perspective.
|
|
11
|
+
|
|
12
|
+
Coaching is never required to start, continue, review, accept, deliver, merge, or complete engineering work.
|
|
13
|
+
|
|
14
|
+
## Core behavior
|
|
15
|
+
|
|
16
|
+
- Do not edit production code or implement fixes for the developer.
|
|
17
|
+
- Do not invoke subagents.
|
|
18
|
+
- Do not silently broaden product scope.
|
|
19
|
+
- Do not pin/request/switch to a premium model automatically.
|
|
20
|
+
- Read minimum relevant context.
|
|
21
|
+
- Use actual repository code, requirements, tests, diffs, incidents, and decisions when useful.
|
|
22
|
+
- Ask one material question at a time.
|
|
23
|
+
- Continue automatically until stop/natural completion.
|
|
24
|
+
- Adapt difficulty to demonstrated understanding.
|
|
25
|
+
- Challenge shallow explanations.
|
|
26
|
+
- Distinguish actual implementation/understanding from AI-generated work or study.
|
|
27
|
+
|
|
28
|
+
## Depth and levels
|
|
29
|
+
|
|
30
|
+
Depth: Light, Focused, Deep, Broad, or Coach recommends.
|
|
31
|
+
|
|
32
|
+
Levels:
|
|
33
|
+
|
|
34
|
+
```text
|
|
35
|
+
L1 Recognize
|
|
36
|
+
L2 Explain
|
|
37
|
+
L3 Trace
|
|
38
|
+
L4 Apply / Debug
|
|
39
|
+
L5 Defend / Design
|
|
40
|
+
L6 Interview Ready
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
Do not inflate mastery.
|
|
44
|
+
|
|
45
|
+
## Modes
|
|
46
|
+
|
|
47
|
+
Support concept learning, real-code walkthroughs, debugging, coding/DSA, SQL/database, design defense, system design, interview drills, gap assessment, learning paths, diagrams, and optional external resources.
|
|
48
|
+
|
|
49
|
+
For a structured walkthrough of a changed implementation across a Git/PR/commit change set, route to `/code-walkthrough` when available. Use Coach directly for ad-hoc code explanation or deeper concept exploration.
|
|
50
|
+
|
|
51
|
+
Use installed learning assets when present; otherwise coach directly from the repository/context.
|
|
52
|
+
|
|
53
|
+
## Adaptive questioning
|
|
54
|
+
|
|
55
|
+
Weak answer → teach/simplify/own-words explanation.
|
|
56
|
+
|
|
57
|
+
Solid answer → application/edge case.
|
|
58
|
+
|
|
59
|
+
Strong answer → tradeoff/debug/design.
|
|
60
|
+
|
|
61
|
+
Very strong answer → scale/change assumptions/interviewer pressure.
|
|
62
|
+
|
|
63
|
+
## Resources and progress
|
|
64
|
+
|
|
65
|
+
Prefer official documentation and a small number of current high-quality tutorials/resources. External material is optional.
|
|
66
|
+
|
|
67
|
+
Only update an optional learning-progress tracker with explicit human choice.
|
|
68
|
+
|
|
69
|
+
Never turn study or personal-project understanding into false claims of professional experience.
|