@mriekki/lean 0.1.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/README.md +67 -67
  2. package/assets/components.json +33 -33
  3. package/assets/core/distribution.json +51 -51
  4. package/assets/deployment/distribution.json +34 -34
  5. package/assets/generated/ASSEMBLY.json +28 -28
  6. package/assets/generated/deployment/distribution/lean-poc-deploy.py +8 -8
  7. package/assets/generated/deployment/src/lean_poc_deployment/__init__.py +3 -3
  8. package/assets/generated/deployment/src/lean_poc_deployment/__main__.py +3 -3
  9. package/assets/generated/deployment/src/lean_poc_deployment/app_cli.py +140 -140
  10. package/assets/generated/deployment/src/lean_poc_deployment/app_runtime.py +455 -455
  11. package/assets/generated/deployment/src/lean_poc_deployment/app_runtime_remote.py +415 -415
  12. package/assets/generated/deployment/src/lean_poc_deployment/box_platform.py +208 -208
  13. package/assets/generated/deployment/src/lean_poc_deployment/box_platform_assets.py +100 -100
  14. package/assets/generated/deployment/src/lean_poc_deployment/box_platform_remote.py +271 -271
  15. package/assets/generated/deployment/src/lean_poc_deployment/cli.py +437 -437
  16. package/assets/generated/deployment/src/lean_poc_deployment/doctor.py +121 -121
  17. package/assets/generated/deployment/src/lean_poc_deployment/entrypoint.py +25 -25
  18. package/assets/generated/deployment/src/lean_poc_deployment/errors.py +5 -5
  19. package/assets/generated/deployment/src/lean_poc_deployment/keys.py +171 -171
  20. package/assets/generated/deployment/src/lean_poc_deployment/profiles.py +204 -204
  21. package/assets/generated/deployment/src/lean_poc_deployment/route_registry.py +367 -367
  22. package/assets/generated/deployment/src/lean_poc_deployment/route_registry_remote.py +443 -443
  23. package/assets/generated/deployment/src/lean_poc_deployment/security.py +290 -290
  24. package/assets/generated/deployment/src/lean_poc_deployment/sqlite_adapter.py +334 -334
  25. package/assets/generated/deployment/src/lean_poc_deployment/sqlite_adapter_remote.py +339 -339
  26. package/assets/generated/deployment/src/lean_poc_deployment/sqlite_cli.py +85 -85
  27. package/assets/generated/deployment/src/lean_poc_deployment/sqlite_import_recovery.py +437 -437
  28. package/assets/generated/deployment/src/lean_poc_deployment/ssh.py +118 -118
  29. package/assets/generated/deployment/src/lean_poc_deployment/teardown.py +286 -286
  30. package/assets/generated/deployment/src/lean_poc_deployment/teardown_cli.py +120 -120
  31. package/assets/generated/deployment/src/lean_poc_deployment/teardown_remote.py +100 -100
  32. package/assets/generated/deployment/src/lean_poc_deployment/trust.py +278 -278
  33. package/bin/lean.mjs +9 -9
  34. package/package.json +33 -33
  35. package/src/cli.mjs +131 -131
  36. package/src/engine.mjs +243 -243
  37. package/src/package-data.mjs +18 -18
package/README.md CHANGED
@@ -1,67 +1,67 @@
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
+ ## 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,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.1.1",
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,51 +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
- }
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,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
+ }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
3
  "package": "@mriekki/lean",
4
- "version": "0.1.0",
4
+ "version": "0.1.1",
5
5
  "components": {
6
6
  "core": {
7
7
  "repository": "mriekki/lean-agentic-core",
@@ -244,137 +244,137 @@
244
244
  {
245
245
  "source": "distribution/lean-poc-deploy.py",
246
246
  "destination": "tools/lean-deployment/lean-poc-deploy.py",
247
- "sha256": "98e282d4f85999c3a37c47af6805cfa645f7de6e7e2e4a686e4d0012850805df"
247
+ "sha256": "4f300e1de447f6b8ecd57f561bdf000743baaa39051aa359f65d0a051be2e220"
248
248
  },
249
249
  {
250
250
  "source": "src/lean_poc_deployment/__init__.py",
251
251
  "destination": "tools/lean-deployment/lean_poc_deployment/__init__.py",
252
- "sha256": "9f84e6ff170f657459fc461833007f874c6fdd4f6c6d3964ee41d7ec3d0e33d0"
252
+ "sha256": "47695e1cc417117ee5d5e7b85d3301fd0dc99963eacfedbe499f3798d28dee72"
253
253
  },
254
254
  {
255
255
  "source": "src/lean_poc_deployment/__main__.py",
256
256
  "destination": "tools/lean-deployment/lean_poc_deployment/__main__.py",
257
- "sha256": "5791f61aa75f2048bb7ef968f382ca81b7c14520599f0d358113fde33392e7ee"
257
+ "sha256": "8742c1b766812edb07174a724d676ffeff58b71b3c192d35102a3e652e962946"
258
258
  },
259
259
  {
260
260
  "source": "src/lean_poc_deployment/app_cli.py",
261
261
  "destination": "tools/lean-deployment/lean_poc_deployment/app_cli.py",
262
- "sha256": "a70e0471a34a111eecf4c26c49a76273b53dd67351f9c57484bf58a7372baf4a"
262
+ "sha256": "29cf78cd27302341d5fe74877e6b4e211a465bb9991fc720585122f7d4b49190"
263
263
  },
264
264
  {
265
265
  "source": "src/lean_poc_deployment/app_runtime.py",
266
266
  "destination": "tools/lean-deployment/lean_poc_deployment/app_runtime.py",
267
- "sha256": "9cd033b0d483dabf28c9ff4289a0d7621e8e8355704c94221238fa33905b9ae4"
267
+ "sha256": "68c623735fc45b6d20cdfc5c110cfa41a4540f030da479d355b456a1e13a21a3"
268
268
  },
269
269
  {
270
270
  "source": "src/lean_poc_deployment/app_runtime_remote.py",
271
271
  "destination": "tools/lean-deployment/lean_poc_deployment/app_runtime_remote.py",
272
- "sha256": "7433314dedf08a189b7c672897a499367511778bedc0f1080ae6c72bb86f9867"
272
+ "sha256": "f3ccde6ed3c6e5fe185a9a0f032a5c924fa0906e3619e12d0ad6228c1210f8ec"
273
273
  },
274
274
  {
275
275
  "source": "src/lean_poc_deployment/box_platform.py",
276
276
  "destination": "tools/lean-deployment/lean_poc_deployment/box_platform.py",
277
- "sha256": "346f3f61252bc61f052ddc1865d6843a4ca512f6a5f67d80d0e13c7d878863ba"
277
+ "sha256": "163c022bbd8ecccadebbebdc8cef8e272fc95dd0dc3cdb35d4e6e10013c91040"
278
278
  },
279
279
  {
280
280
  "source": "src/lean_poc_deployment/box_platform_assets.py",
281
281
  "destination": "tools/lean-deployment/lean_poc_deployment/box_platform_assets.py",
282
- "sha256": "c2787fc800afec76183fbcb0bb27e96b016ea65b6a5fec62595eb68b01b90561"
282
+ "sha256": "07ef27a63ebff9fb2a810d0c40dd601e14f767c6f8faaedcedd54bb3b79ffef4"
283
283
  },
284
284
  {
285
285
  "source": "src/lean_poc_deployment/box_platform_remote.py",
286
286
  "destination": "tools/lean-deployment/lean_poc_deployment/box_platform_remote.py",
287
- "sha256": "1e5094c48ada1b92e19e94d2ad8140de54645da3ab32d3ae2a09478f459d2e7d"
287
+ "sha256": "1702614cada6f0829abe1d412d8a90f7452c96db2f2693631d20cdb08de29aaa"
288
288
  },
289
289
  {
290
290
  "source": "src/lean_poc_deployment/cli.py",
291
291
  "destination": "tools/lean-deployment/lean_poc_deployment/cli.py",
292
- "sha256": "d6da84777cdae2e55dd636adc3e90fc8cbc777a29dd5df85a936c1cbb2cf3f05"
292
+ "sha256": "a30230969a27ec0df67f311694c13c91520f11104ceae2906cc9f5f46e6f8b23"
293
293
  },
294
294
  {
295
295
  "source": "src/lean_poc_deployment/doctor.py",
296
296
  "destination": "tools/lean-deployment/lean_poc_deployment/doctor.py",
297
- "sha256": "1b86ee7df00b5e10c3859bc227562d14a954ebbe9f68fea12ff63f290e888926"
297
+ "sha256": "139914e437832fd8c5b8d2d8d6fc0ef8aa004862fde45989547e572c461f299d"
298
298
  },
299
299
  {
300
300
  "source": "src/lean_poc_deployment/entrypoint.py",
301
301
  "destination": "tools/lean-deployment/lean_poc_deployment/entrypoint.py",
302
- "sha256": "62112d18f265dea737748e61216c25f9c52a1174e0d4bd69d6afe09fa8097e26"
302
+ "sha256": "08a27a64680f7a72b68c6272f5185c7fdb23678efbda456fd0894272e2e6187e"
303
303
  },
304
304
  {
305
305
  "source": "src/lean_poc_deployment/errors.py",
306
306
  "destination": "tools/lean-deployment/lean_poc_deployment/errors.py",
307
- "sha256": "ecee46ca5746e5225a4cc30aa2cdc57a8746658d9b3ab45f7c9a775e24f9b5b6"
307
+ "sha256": "0bc20b1b739f999960422b7bd05249f4179f3612910ecbb6cf2805b5f4babd61"
308
308
  },
309
309
  {
310
310
  "source": "src/lean_poc_deployment/keys.py",
311
311
  "destination": "tools/lean-deployment/lean_poc_deployment/keys.py",
312
- "sha256": "91777f7c0716d44157320fcbadae1bd2c24d04caa1dce5c15c7fca91af3a2e02"
312
+ "sha256": "5a85bb6941957c45eb3c30ef1f350b669932287b9e2f4a23178260c72009e26c"
313
313
  },
314
314
  {
315
315
  "source": "src/lean_poc_deployment/profiles.py",
316
316
  "destination": "tools/lean-deployment/lean_poc_deployment/profiles.py",
317
- "sha256": "f9d1ae5e0690dc2e4e733153bb5f4427e53636a2c224a5e67c35493702733d7e"
317
+ "sha256": "9d73f86714db5c59a07354348e394647d62a3c31b173c4d3c4c4353872da908a"
318
318
  },
319
319
  {
320
320
  "source": "src/lean_poc_deployment/teardown.py",
321
321
  "destination": "tools/lean-deployment/lean_poc_deployment/teardown.py",
322
- "sha256": "041d93558ed69379429c193c5a058c2aa5ba8991c0a57ce3387b61c65fbd76a0"
322
+ "sha256": "edcf921aa92988176b756abf4bbc9b0b83ae1d855b6e8d487b67aaad7727cb55"
323
323
  },
324
324
  {
325
325
  "source": "src/lean_poc_deployment/teardown_cli.py",
326
326
  "destination": "tools/lean-deployment/lean_poc_deployment/teardown_cli.py",
327
- "sha256": "cae6721ad047822ac77942059bd4da3f34af382002eb284f144d4aae8470f69f"
327
+ "sha256": "ec1271db5f57135189892e87f2df3ffc5fcb6e763ff1eb9604bc4e50788c3325"
328
328
  },
329
329
  {
330
330
  "source": "src/lean_poc_deployment/teardown_remote.py",
331
331
  "destination": "tools/lean-deployment/lean_poc_deployment/teardown_remote.py",
332
- "sha256": "a3f30f66d1d7ad2d54ec9d2e55fe1cd4112f655e51ee0f4d24682ec3ed4cf9dd"
332
+ "sha256": "9745fd9f721eea2da8f5d32688cc6a293e46aa9f9e5c5825c6a08cacb1121fb1"
333
333
  },
334
334
  {
335
335
  "source": "src/lean_poc_deployment/route_registry.py",
336
336
  "destination": "tools/lean-deployment/lean_poc_deployment/route_registry.py",
337
- "sha256": "a3404ce7a4a84f2daa33f30eb09ffe19eaf19c72a44ae8a986d9b5ef0e7fc729"
337
+ "sha256": "8c19da6790fac66d0cb8fe099fb09c026966a6e5952df58bd936ce03a72f1928"
338
338
  },
339
339
  {
340
340
  "source": "src/lean_poc_deployment/route_registry_remote.py",
341
341
  "destination": "tools/lean-deployment/lean_poc_deployment/route_registry_remote.py",
342
- "sha256": "e7254f6949e3e234ed113eccec492976aacbbedaa5ea127ebdcebd9fdf12959b"
342
+ "sha256": "84c37f417ff21f05e7802acef33f4927c878e92f7ae791462eef77281f052bdf"
343
343
  },
344
344
  {
345
345
  "source": "src/lean_poc_deployment/security.py",
346
346
  "destination": "tools/lean-deployment/lean_poc_deployment/security.py",
347
- "sha256": "e18c93066132b176b95d91cd423cd6047648a492c8efc992d6ea2c9f633ad7b3"
347
+ "sha256": "f0946186e384794c81a78fbf50b6afdbbd79a0b22216034778fbb24d523696b6"
348
348
  },
349
349
  {
350
350
  "source": "src/lean_poc_deployment/sqlite_adapter.py",
351
351
  "destination": "tools/lean-deployment/lean_poc_deployment/sqlite_adapter.py",
352
- "sha256": "a9627729b66a50f743b05918da705a10f59efd519b5395c3f4ffdb25f7c54bb0"
352
+ "sha256": "b6f5fd33b776a1fb02d6b6a00fbab0b95827946e5fee51aafef9446fa084f42b"
353
353
  },
354
354
  {
355
355
  "source": "src/lean_poc_deployment/sqlite_adapter_remote.py",
356
356
  "destination": "tools/lean-deployment/lean_poc_deployment/sqlite_adapter_remote.py",
357
- "sha256": "5f24e730d76b357edd11f0bc98a8869fcb132cedde82374f4ae7690bba754b66"
357
+ "sha256": "77feaf6d60632375be4407145741244198f1836eff02e2d8c85f86c8d2c374e2"
358
358
  },
359
359
  {
360
360
  "source": "src/lean_poc_deployment/sqlite_cli.py",
361
361
  "destination": "tools/lean-deployment/lean_poc_deployment/sqlite_cli.py",
362
- "sha256": "83db4958fa84c2c52a5ebea242a0a7beb0222bc4ba8a03c32121ab8e7c9c8212"
362
+ "sha256": "0b68c0cd8c92a7e59071b6f922fe6bbf38d03276387856d1efa743118467bbca"
363
363
  },
364
364
  {
365
365
  "source": "src/lean_poc_deployment/sqlite_import_recovery.py",
366
366
  "destination": "tools/lean-deployment/lean_poc_deployment/sqlite_import_recovery.py",
367
- "sha256": "90524f94f46789786fb5d40fb7c402d54cfc8618f7bc1dd9a94605cabe4fb6fe"
367
+ "sha256": "8bba9aeb1ff2aca5360972a3f66e3dd8e3dc3a6484f5091af201f447454ab4f5"
368
368
  },
369
369
  {
370
370
  "source": "src/lean_poc_deployment/ssh.py",
371
371
  "destination": "tools/lean-deployment/lean_poc_deployment/ssh.py",
372
- "sha256": "42fe2ae7e57695b74b387cec33e413bfb61da46a18a92d6d457f70278e91a4bf"
372
+ "sha256": "9eb568ec75a288b1069e629c67d567d5bb0a7a2074563c70f49057326154f7d2"
373
373
  },
374
374
  {
375
375
  "source": "src/lean_poc_deployment/trust.py",
376
376
  "destination": "tools/lean-deployment/lean_poc_deployment/trust.py",
377
- "sha256": "fdc6ddd7fca6f5ee310d6d50250d5b364fb4a0e92c71b6758e6b7f0045461645"
377
+ "sha256": "b143fa828c3a23df3909dacfd78ae56b9ec1159628eb45261d69c0aa6ddd1a7b"
378
378
  }
379
379
  ]
380
380
  }
@@ -1,8 +1,8 @@
1
- #!/usr/bin/env python3
2
- from __future__ import annotations
3
-
4
- from lean_poc_deployment.entrypoint import main
5
-
6
-
7
- if __name__ == "__main__":
8
- raise SystemExit(main())
1
+ #!/usr/bin/env python3
2
+ from __future__ import annotations
3
+
4
+ from lean_poc_deployment.entrypoint import main
5
+
6
+
7
+ if __name__ == "__main__":
8
+ raise SystemExit(main())
@@ -1,3 +1,3 @@
1
- """Lean POC Deployment Kit."""
2
-
3
- __version__ = "0.1.0.dev0"
1
+ """Lean POC Deployment Kit."""
2
+
3
+ __version__ = "0.1.0.dev0"
@@ -1,3 +1,3 @@
1
- from .entrypoint import main
2
-
3
- raise SystemExit(main())
1
+ from .entrypoint import main
2
+
3
+ raise SystemExit(main())