@mriekki/lean 0.1.0 → 0.2.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.
Files changed (41) hide show
  1. package/README.md +71 -67
  2. package/assets/components.json +33 -33
  3. package/assets/core/distribution.json +52 -51
  4. package/assets/deployment/distribution.json +34 -34
  5. package/assets/generated/ASSEMBLY.json +38 -33
  6. package/assets/generated/core/core/skills/core-sync/SKILL.md +78 -120
  7. package/assets/generated/core/core/skills/deploy/SKILL.md +74 -91
  8. package/assets/generated/core/core/skills/lean-update/SKILL.md +189 -0
  9. package/assets/generated/core/core/skills/upstream-fix/SKILL.md +91 -76
  10. package/assets/generated/deployment/distribution/lean-poc-deploy.py +8 -8
  11. package/assets/generated/deployment/src/lean_poc_deployment/__init__.py +3 -3
  12. package/assets/generated/deployment/src/lean_poc_deployment/__main__.py +3 -3
  13. package/assets/generated/deployment/src/lean_poc_deployment/app_cli.py +140 -140
  14. package/assets/generated/deployment/src/lean_poc_deployment/app_runtime.py +455 -455
  15. package/assets/generated/deployment/src/lean_poc_deployment/app_runtime_remote.py +415 -415
  16. package/assets/generated/deployment/src/lean_poc_deployment/box_platform.py +208 -208
  17. package/assets/generated/deployment/src/lean_poc_deployment/box_platform_assets.py +100 -100
  18. package/assets/generated/deployment/src/lean_poc_deployment/box_platform_remote.py +271 -271
  19. package/assets/generated/deployment/src/lean_poc_deployment/cli.py +437 -437
  20. package/assets/generated/deployment/src/lean_poc_deployment/doctor.py +121 -121
  21. package/assets/generated/deployment/src/lean_poc_deployment/entrypoint.py +25 -25
  22. package/assets/generated/deployment/src/lean_poc_deployment/errors.py +5 -5
  23. package/assets/generated/deployment/src/lean_poc_deployment/keys.py +171 -171
  24. package/assets/generated/deployment/src/lean_poc_deployment/profiles.py +204 -204
  25. package/assets/generated/deployment/src/lean_poc_deployment/route_registry.py +367 -367
  26. package/assets/generated/deployment/src/lean_poc_deployment/route_registry_remote.py +443 -443
  27. package/assets/generated/deployment/src/lean_poc_deployment/security.py +290 -290
  28. package/assets/generated/deployment/src/lean_poc_deployment/sqlite_adapter.py +334 -334
  29. package/assets/generated/deployment/src/lean_poc_deployment/sqlite_adapter_remote.py +339 -339
  30. package/assets/generated/deployment/src/lean_poc_deployment/sqlite_cli.py +85 -85
  31. package/assets/generated/deployment/src/lean_poc_deployment/sqlite_import_recovery.py +437 -437
  32. package/assets/generated/deployment/src/lean_poc_deployment/ssh.py +118 -118
  33. package/assets/generated/deployment/src/lean_poc_deployment/teardown.py +286 -286
  34. package/assets/generated/deployment/src/lean_poc_deployment/teardown_cli.py +120 -120
  35. package/assets/generated/deployment/src/lean_poc_deployment/teardown_remote.py +100 -100
  36. package/assets/generated/deployment/src/lean_poc_deployment/trust.py +278 -278
  37. package/bin/lean.mjs +9 -9
  38. package/package.json +33 -33
  39. package/src/cli.mjs +131 -131
  40. package/src/engine.mjs +243 -243
  41. package/src/package-data.mjs +18 -18
package/README.md CHANGED
@@ -1,67 +1,71 @@
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.
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
+ ## Current `greenfield-poc` profile
8
+
9
+ The current profile bundles:
10
+
11
+ - Lean Agentic Core `1.11.0` from commit `5b2f13bb188f74fa0d7b6b8d7985fe3abfc543f9`, distribution `greenfield-workspace`;
12
+ - Lean POC Deployment Kit commit `4c23140576b39608a3ef285cad4abe53dccb9c47`, distribution `greenfield-poc`.
13
+
14
+ Core `1.11.0` adds the package-aware `/lean-update` workflow for `LEAN_BASELINE.json` consumers, keeps `/core-sync` as a compatibility/router path for component-only Core consumers, and aligns `/upstream-fix` and `/deploy` with the package and generated Deployment Kit boundaries.
15
+
16
+ ## Developer experience
17
+
18
+ Preview/install:
19
+
20
+ ```powershell
21
+ npx @mriekki/lean install
22
+ ```
23
+
24
+ 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.
25
+
26
+ Update using the newest published package:
27
+
28
+ ```powershell
29
+ npx @mriekki/lean@latest update
30
+ ```
31
+
32
+ For reviewed maintenance operations, prefer resolving and using one exact package version for preview, apply, and final check rather than allowing a moving `@latest` reference to change between those steps.
33
+
34
+ Inspect or verify:
35
+
36
+ ```powershell
37
+ npx @mriekki/lean@latest status
38
+ npx @mriekki/lean@latest check
39
+ ```
40
+
41
+ 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.
42
+
43
+ ## Safety and ownership
44
+
45
+ - npm is the distribution transport, not the canonical source of reusable behavior.
46
+ - package releases pin exact accepted source commits.
47
+ - install/update never require private GitHub access.
48
+ - no install/update lifecycle hook mutates a consumer repository; changes occur only when the user invokes the Lean CLI.
49
+ - one preflight plan covers all selected components; an unsafe component blocks the entire apply.
50
+ - package publication is separate from merging this repository and requires an explicit release action.
51
+
52
+ ## Current scope
53
+
54
+ The package currently 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.
55
+
56
+ ## Package assembly and release
57
+
58
+ The public source repository intentionally does not commit generated private-source snapshots. Prepare an auditable release candidate from clean exact canonical checkouts:
59
+
60
+ ```powershell
61
+ Set-Location D:\Projects\lean-platform
62
+ node .\scripts\prepare-release.mjs `
63
+ --core-root D:\Projects\lean-agentic-core `
64
+ --deployment-root D:\Projects\lean-poc-deployment-kit
65
+ ```
66
+
67
+ 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/`.
68
+
69
+ The first npm version was staged manually and required explicit 2FA approval before becoming public. Current releases use `.github/workflows/npm-stage.yml` with npm Trusted Publishing (OIDC) to stage future versions without a long-lived npm publish token; human 2FA approval remains the final publication gate.
70
+
71
+ See `docs/RELEASE_PROCESS.md` for the full release contract.
@@ -1,33 +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
- }
1
+ {
2
+ "schemaVersion": 1,
3
+ "package": "@mriekki/lean",
4
+ "version": "0.2.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": "5b2f13bb188f74fa0d7b6b8d7985fe3abfc543f9",
18
+ "version": "1.11.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
+ }
@@ -1,51 +1,52 @@
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
- }
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/lean-update/SKILL.md","destination":".github/skills/lean-update/SKILL.md"},
20
+ {"source":"core/skills/core-sync/SKILL.md","destination":".github/skills/core-sync/SKILL.md"},
21
+ {"source":"core/skills/upstream-fix/SKILL.md","destination":".github/skills/upstream-fix/SKILL.md"},
22
+ {"source":"core/skills/wait-what/SKILL.md","destination":".github/skills/wait-what/SKILL.md"},
23
+ {"source":"core/skills/production-readiness/SKILL.md","destination":".github/skills/production-readiness/SKILL.md"},
24
+ {"source":"core/skills/deploy/SKILL.md","destination":".github/skills/deploy/SKILL.md"},
25
+ {"source":"core/skills/tear-down/SKILL.md","destination":".github/skills/tear-down/SKILL.md"},
26
+ {"source":"core/skills/coach/SKILL.md","destination":".github/skills/coach/SKILL.md"},
27
+ {"source":"core/skills/code-walkthrough/SKILL.md","destination":".github/skills/code-walkthrough/SKILL.md"},
28
+ {"source":"core/skills/learning-review/SKILL.md","destination":".github/skills/learning-review/SKILL.md"},
29
+ {"source":"core/process/WORK_ITEM_MODEL.md","destination":"docs/process/WORK_ITEM_MODEL.md"},
30
+ {"source":"core/process/PR_WORKFLOW.md","destination":"docs/process/PR_WORKFLOW.md"},
31
+ {"source":"core/process/PRODUCTION_ENABLEMENT.md","destination":"docs/process/PRODUCTION_ENABLEMENT.md"},
32
+ {"source":"core/process/HUMAN_GATES.md","destination":"docs/process/HUMAN_IN_LOOP_GATES.md"},
33
+ {"source":"core/process/GUIDED_NEXT_STEPS.md","destination":"docs/process/GUIDED_NEXT_STEPS.md"},
34
+ {"source":"core/process/INTERACTIVE_SESSION_GUIDE.md","destination":"docs/process/INTERACTIVE_SESSION_GUIDE.md"},
35
+ {"source":"core/process/COACHING_GUIDE.md","destination":"docs/process/COACHING_GUIDE.md"},
36
+ {"source":"core/process/SETUP_ACCEPTANCE_CHECKLIST.md","destination":"docs/process/SETUP_ACCEPTANCE_CHECKLIST.md"},
37
+ {"source":"core/templates/PULL_REQUEST_TEMPLATE.md","destination":".github/PULL_REQUEST_TEMPLATE.md"},
38
+ {"source":"core/templates/PRODUCT_BRIEF_TEMPLATE.md","destination":"docs/templates/PRODUCT_BRIEF_TEMPLATE.md"},
39
+ {"source":"core/templates/FEATURE_BRIEF_TEMPLATE.md","destination":"docs/templates/FEATURE_BRIEF_TEMPLATE.md"},
40
+ {"source":"core/templates/REQUIREMENTS_TEMPLATE.md","destination":"docs/templates/REQUIREMENTS_TEMPLATE.md"},
41
+ {"source":"core/learning/ENGINEERING_LEARNING_WORKBOOK.md","destination":"learning/ENGINEERING_LEARNING_WORKBOOK.md"},
42
+ {"source":"core/learning/LEARNING_MAP.md","destination":"learning/LEARNING_MAP.md"},
43
+ {"source":"core/learning/LEARNING_PROGRESS.md","destination":"learning/LEARNING_PROGRESS.md"},
44
+ {"source":"core/learning/CODING_DRILLS.md","destination":"learning/CODING_DRILLS.md"},
45
+ {"source":"core/learning/SQL_DRILLS.md","destination":"learning/SQL_DRILLS.md"},
46
+ {"source":"core/learning/SYSTEM_DESIGN_DRILLS.md","destination":"learning/SYSTEM_DESIGN_DRILLS.md"},
47
+ {"source":"core/learning/DIAGRAM_GUIDE.md","destination":"learning/DIAGRAM_GUIDE.md"},
48
+ {"source":"core/learning/RESOURCE_CATALOG.md","destination":"learning/RESOURCE_CATALOG.md"},
49
+ {"source":"tools/package/check_baseline.py","destination":"tools/lean-core/check-core-baseline.py"},
50
+ {"source":"tools/package/check_upstream.py","destination":"tools/lean-core/check-core-upstream.py"}
51
+ ]
52
+ }
@@ -1,34 +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
- }
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
+ }