@mriekki/project-forge 0.0.0-stage → 2.0.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 (117) hide show
  1. package/README.md +134 -2
  2. package/assets/components.json +33 -0
  3. package/assets/core/distribution.json +66 -0
  4. package/assets/deployment/distribution.json +54 -0
  5. package/assets/generated/ASSEMBLY.json +557 -0
  6. package/assets/generated/core/core/agents/coach.agent.md +69 -0
  7. package/assets/generated/core/core/agents/reviewer.agent.md +85 -0
  8. package/assets/generated/core/core/instructions/project-forge-docs.instructions.md +45 -0
  9. package/assets/generated/core/core/instructions/project-forge-workflow.instructions.md +79 -0
  10. package/assets/generated/core/core/learning/CODING_DRILLS.md +35 -0
  11. package/assets/generated/core/core/learning/DIAGRAM_GUIDE.md +59 -0
  12. package/assets/generated/core/core/learning/ENGINEERING_LEARNING_WORKBOOK.md +108 -0
  13. package/assets/generated/core/core/learning/LEARNING_MAP.md +108 -0
  14. package/assets/generated/core/core/learning/LEARNING_PROGRESS.md +39 -0
  15. package/assets/generated/core/core/learning/RESOURCE_CATALOG.md +25 -0
  16. package/assets/generated/core/core/learning/SQL_DRILLS.md +90 -0
  17. package/assets/generated/core/core/learning/SYSTEM_DESIGN_DRILLS.md +301 -0
  18. package/assets/generated/core/core/process/COACHING_GUIDE.md +92 -0
  19. package/assets/generated/core/core/process/DATABASE_LEARNING_WORKBENCH.md +397 -0
  20. package/assets/generated/core/core/process/DEPLOYMENT_ENABLEMENT.md +166 -0
  21. package/assets/generated/core/core/process/GUIDED_NEXT_STEPS.md +48 -0
  22. package/assets/generated/core/core/process/HUMAN_GATES.md +83 -0
  23. package/assets/generated/core/core/process/INTERACTIVE_SESSION_GUIDE.md +64 -0
  24. package/assets/generated/core/core/process/PROJECT_DOCUMENTATION_FRAMEWORK.md +326 -0
  25. package/assets/generated/core/core/process/PROJECT_FORGE_ENGINEERING_GUIDE.md +308 -0
  26. package/assets/generated/core/core/process/PR_WORKFLOW.md +55 -0
  27. package/assets/generated/core/core/process/SETUP_ACCEPTANCE_CHECKLIST.md +72 -0
  28. package/assets/generated/core/core/process/SYSTEM_DESIGN_LEARNING_WORKBENCH.md +520 -0
  29. package/assets/generated/core/core/process/WORK_ITEM_MODEL.md +56 -0
  30. package/assets/generated/core/core/skills/cleanup-branches/SKILL.md +190 -0
  31. package/assets/generated/core/core/skills/coach/SKILL.md +174 -0
  32. package/assets/generated/core/core/skills/code-walkthrough/SKILL.md +197 -0
  33. package/assets/generated/core/core/skills/core-sync/SKILL.md +178 -0
  34. package/assets/generated/core/core/skills/db-lab/SKILL.md +245 -0
  35. package/assets/generated/core/core/skills/define-feature/SKILL.md +144 -0
  36. package/assets/generated/core/core/skills/deliver/SKILL.md +397 -0
  37. package/assets/generated/core/core/skills/deploy/SKILL.md +188 -0
  38. package/assets/generated/core/core/skills/deployment-readiness/SKILL.md +234 -0
  39. package/assets/generated/core/core/skills/developer-env-mode/SKILL.md +231 -0
  40. package/assets/generated/core/core/skills/docs/SKILL.md +116 -0
  41. package/assets/generated/core/core/skills/grill-me/SKILL.md +77 -0
  42. package/assets/generated/core/core/skills/grill-with-docs/SKILL.md +90 -0
  43. package/assets/generated/core/core/skills/learning-review/SKILL.md +90 -0
  44. package/assets/generated/core/core/skills/next-step/SKILL.md +221 -0
  45. package/assets/generated/core/core/skills/progress/SKILL.md +207 -0
  46. package/assets/generated/core/core/skills/project-forge-update/SKILL.md +228 -0
  47. package/assets/generated/core/core/skills/pull-latest/SKILL.md +166 -0
  48. package/assets/generated/core/core/skills/refine-requirements/SKILL.md +207 -0
  49. package/assets/generated/core/core/skills/setup/SKILL.md +362 -0
  50. package/assets/generated/core/core/skills/start-work/SKILL.md +190 -0
  51. package/assets/generated/core/core/skills/system-lab/SKILL.md +333 -0
  52. package/assets/generated/core/core/skills/tear-down/SKILL.md +140 -0
  53. package/assets/generated/core/core/skills/upstream-fix/SKILL.md +221 -0
  54. package/assets/generated/core/core/skills/wait-what/SKILL.md +86 -0
  55. package/assets/generated/core/core/templates/ADR_TEMPLATE.md +41 -0
  56. package/assets/generated/core/core/templates/FEATURE_BRIEF_TEMPLATE.md +27 -0
  57. package/assets/generated/core/core/templates/PRODUCT_BRIEF_TEMPLATE.md +27 -0
  58. package/assets/generated/core/core/templates/PULL_REQUEST_TEMPLATE.md +37 -0
  59. package/assets/generated/core/core/templates/REQUIREMENTS_TEMPLATE.md +17 -0
  60. package/assets/generated/core/profiles/greenfield/project-forge-workspace.json +12 -0
  61. package/assets/generated/core/tools/db_lab/sqlite_workbench.py +463 -0
  62. package/assets/generated/core/tools/docs_site/docs_site.py +512 -0
  63. package/assets/generated/core/tools/package/check_baseline.py +102 -0
  64. package/assets/generated/core/tools/package/check_upstream.py +171 -0
  65. package/assets/generated/core/tools/system_lab/system_workbench.py +243 -0
  66. package/assets/generated/deployment/distribution/project-forge-deploy.py +8 -0
  67. package/assets/generated/deployment/docs/DEVELOPER_ENVIRONMENTS.md +335 -0
  68. package/assets/generated/deployment/docs/ENVIRONMENT_PROOF.md +95 -0
  69. package/assets/generated/deployment/docs/WORKSPACE_INSTANCES.md +154 -0
  70. package/assets/generated/deployment/docs/images/developer-environment-journey.svg +56 -0
  71. package/assets/generated/deployment/docs/images/personal-environment-architecture.svg +54 -0
  72. package/assets/generated/deployment/docs/images/poc-environment-model.svg +61 -0
  73. package/assets/generated/deployment/src/project_forge_deployment/__init__.py +3 -0
  74. package/assets/generated/deployment/src/project_forge_deployment/__main__.py +3 -0
  75. package/assets/generated/deployment/src/project_forge_deployment/app_cli.py +163 -0
  76. package/assets/generated/deployment/src/project_forge_deployment/app_runtime.py +455 -0
  77. package/assets/generated/deployment/src/project_forge_deployment/app_runtime_remote.py +416 -0
  78. package/assets/generated/deployment/src/project_forge_deployment/app_runtime_workstation.py +136 -0
  79. package/assets/generated/deployment/src/project_forge_deployment/box_platform.py +208 -0
  80. package/assets/generated/deployment/src/project_forge_deployment/box_platform_assets.py +100 -0
  81. package/assets/generated/deployment/src/project_forge_deployment/box_platform_remote.py +271 -0
  82. package/assets/generated/deployment/src/project_forge_deployment/cli.py +437 -0
  83. package/assets/generated/deployment/src/project_forge_deployment/doctor.py +121 -0
  84. package/assets/generated/deployment/src/project_forge_deployment/entrypoint.py +37 -0
  85. package/assets/generated/deployment/src/project_forge_deployment/environment_cli.py +271 -0
  86. package/assets/generated/deployment/src/project_forge_deployment/environment_probe.py +228 -0
  87. package/assets/generated/deployment/src/project_forge_deployment/errors.py +5 -0
  88. package/assets/generated/deployment/src/project_forge_deployment/home_lab.py +328 -0
  89. package/assets/generated/deployment/src/project_forge_deployment/image_transfer.py +105 -0
  90. package/assets/generated/deployment/src/project_forge_deployment/keys.py +171 -0
  91. package/assets/generated/deployment/src/project_forge_deployment/local_cli.py +189 -0
  92. package/assets/generated/deployment/src/project_forge_deployment/local_runtime.py +526 -0
  93. package/assets/generated/deployment/src/project_forge_deployment/local_spec.py +82 -0
  94. package/assets/generated/deployment/src/project_forge_deployment/local_sqlite.py +205 -0
  95. package/assets/generated/deployment/src/project_forge_deployment/portable_profile.py +181 -0
  96. package/assets/generated/deployment/src/project_forge_deployment/profile_migration.py +70 -0
  97. package/assets/generated/deployment/src/project_forge_deployment/profile_repository.py +348 -0
  98. package/assets/generated/deployment/src/project_forge_deployment/profiles.py +204 -0
  99. package/assets/generated/deployment/src/project_forge_deployment/registry_access.py +114 -0
  100. package/assets/generated/deployment/src/project_forge_deployment/registry_cli.py +51 -0
  101. package/assets/generated/deployment/src/project_forge_deployment/route_registry.py +367 -0
  102. package/assets/generated/deployment/src/project_forge_deployment/route_registry_remote.py +443 -0
  103. package/assets/generated/deployment/src/project_forge_deployment/security.py +290 -0
  104. package/assets/generated/deployment/src/project_forge_deployment/sqlite_adapter.py +335 -0
  105. package/assets/generated/deployment/src/project_forge_deployment/sqlite_adapter_remote.py +340 -0
  106. package/assets/generated/deployment/src/project_forge_deployment/sqlite_cli.py +86 -0
  107. package/assets/generated/deployment/src/project_forge_deployment/sqlite_import_recovery.py +437 -0
  108. package/assets/generated/deployment/src/project_forge_deployment/ssh.py +119 -0
  109. package/assets/generated/deployment/src/project_forge_deployment/teardown.py +300 -0
  110. package/assets/generated/deployment/src/project_forge_deployment/teardown_cli.py +139 -0
  111. package/assets/generated/deployment/src/project_forge_deployment/teardown_remote.py +100 -0
  112. package/assets/generated/deployment/src/project_forge_deployment/trust.py +278 -0
  113. package/bin/project-forge.mjs +9 -0
  114. package/package.json +31 -4
  115. package/src/cli.mjs +150 -0
  116. package/src/engine.mjs +243 -0
  117. package/src/package-data.mjs +18 -0
@@ -0,0 +1,85 @@
1
+ ---
2
+ name: Reviewer
3
+ description: Independent read-only review perspective over the configured work-item authority, plan/implementation diff, tests, and repository conventions.
4
+ tools: ["read", "search", "execute"]
5
+ user-invocable: true
6
+ disable-model-invocation: true
7
+ ---
8
+
9
+ # Reviewer
10
+
11
+ You are the independent review perspective. Start from fresh/minimal context.
12
+
13
+ ## Rules
14
+
15
+ - Read `.github/project-forge-workspace.json` when present before assuming requirement authority.
16
+ - Review only sources actually available.
17
+ - Do not edit production code or implement fixes.
18
+ - Do not broaden approved scope.
19
+ - Do not invoke subagents.
20
+ - Do not assume a plan, test result, or previous AI claim is correct.
21
+ - Existing repository conventions and policies outrank Project Forge defaults.
22
+ - Do not pin/request/switch models automatically.
23
+ - When the host exposes the `execute` tool, use it only for non-mutating inspection or verification commands. Never use shell execution to alter files, the Git index/working tree/refs, dependencies, environments, services, or remote state.
24
+
25
+ ## Plan review
26
+
27
+ Use the authoritative work-item/requirements plus directly relevant architecture/code.
28
+
29
+ Check:
30
+ - scope alignment and hidden assumptions,
31
+ - dependencies and integration boundaries,
32
+ - transactions/concurrency/data-loss implications,
33
+ - security/operational risk,
34
+ - test/verification strategy,
35
+ - reversibility,
36
+ - unnecessary complexity.
37
+
38
+ ## Implementation review
39
+
40
+ Start from:
41
+ - authoritative work-item/requirements,
42
+ - current diff/changed files,
43
+ - relevant tests and observed test evidence,
44
+ - directly relevant repository conventions/architecture.
45
+
46
+ Review for:
47
+ - requirement fit/correctness,
48
+ - defects/edge cases/regressions,
49
+ - data/security/concurrency/error-handling risk,
50
+ - architecture/maintainability,
51
+ - tests/evidence,
52
+ - UX/accessibility when relevant,
53
+ - repository conventions.
54
+
55
+ Classify findings:
56
+
57
+ ```text
58
+ BLOCKING
59
+ NON-BLOCKING
60
+ OBSERVATION
61
+ EVIDENCE GAP
62
+ ```
63
+
64
+ Include file/location references when possible and state what was not verified.
65
+
66
+ End with:
67
+
68
+ ```text
69
+ VERDICT
70
+ READY / CHANGES REQUIRED / INSUFFICIENT EVIDENCE
71
+ ```
72
+
73
+ ## Guided ending
74
+
75
+ After findings use CURRENT STATE, RECOMMENDED NEXT STEP, and a small OPTIONS menu. Reviewer itself does not commit, push, create/merge PRs, or deploy.
76
+
77
+ When implementation is READY and the human accepts the meaningful local diff, explicitly recommend:
78
+
79
+ ```text
80
+ /deliver
81
+ ```
82
+
83
+ Do not vaguely say `merge when ready`.
84
+
85
+ If the delivered work item owns deployment engineering, successful engineering delivery may later hand off to `/deployment-readiness <environment>` for state-driven environment preparation; Reviewer readiness never authorizes remote or production deployment.
@@ -0,0 +1,45 @@
1
+ ---
2
+ applyTo: "**/*.md"
3
+ ---
4
+
5
+ # Project Forge Documentation Rules
6
+
7
+ Respect `.github/project-forge-workspace.json`, `docs/project-forge-docs.json` when present, and existing repository documentation.
8
+
9
+ ## Authority
10
+
11
+ - Do not create Product/Feature Briefs when the profile says they are unused.
12
+ - Do not create duplicate requirement authorities.
13
+ - `PROJECT_BRIEF.md` is a project briefing/navigation surface unless the repository explicitly says otherwise; do not let it silently compete with the accepted product/work-item authority.
14
+ - Label experimental/supplemental briefs clearly.
15
+ - Do not assume a Jira Epic is a Feature Brief.
16
+ - Prefer one useful combined requirements artifact over a conveyor belt of docs when local requirements are appropriate.
17
+
18
+ ## Ownership
19
+
20
+ When `docs/project-forge-docs.json` is present, preserve its ownership boundary:
21
+
22
+ - `project` — project-owned prose/decisions; update only when the current change actually owns that documentation.
23
+ - `project-forge` — reusable Project Forge-managed material; update through the controlled reusable-package/baseline path rather than hand-diverging it in consumers.
24
+ - `generated-evidence` — disposable projections reconstructed from current evidence; do not hand-edit or treat them as requirements.
25
+
26
+ ADRs are project-owned decisions. Do not create or approve an architectural decision on the human's behalf merely because implementation evidence suggests one.
27
+
28
+ ## Generated views
29
+
30
+ - Markdown is canonical; the local documentation website is a projection.
31
+ - DB/System diagrams are current-by-default projections. Do not tell the developer to maintain, rebuild, or manually synchronize generated diagrams.
32
+ - Keep disposable site/lab output under `.project-forge/` or another repository-approved ignored cache path by default.
33
+ - A generated view may report `CURRENT`, `STALE`, `AVAILABLE / FRESHNESS UNKNOWN`, or `NOT GENERATED`; do not claim freshness without supporting evidence.
34
+ - Repository/runtime/database evidence outranks stale generated views.
35
+
36
+ ## Change impact
37
+
38
+ When a change materially affects public contracts, architecture, persistence, deployment/environments, developer workflow, testing strategy, or an architectural tradeoff, surface the likely documentation impact. Safe generated projections may be rebuilt automatically; human/project-authored prose should not be silently rewritten merely because code changed.
39
+
40
+ Documentation follow-up is non-blocking unless the work item's acceptance criteria explicitly require documentation.
41
+
42
+ ## Safety
43
+
44
+ - Keep sensitive values out of tracked Markdown, documentation manifests, and generated site data.
45
+ - Preserve evidence labels and uncertainty rather than turning inference into authoritative architecture facts.
@@ -0,0 +1,79 @@
1
+ ---
2
+ applyTo: "**"
3
+ ---
4
+
5
+ # Project Forge Agentic Workflow
6
+
7
+ Read `.github/project-forge-workspace.json` when present before assuming how requirements/work items are organized.
8
+
9
+ Existing team conventions outrank Project Forge defaults.
10
+
11
+ Possible sources include Product Briefs, Feature Briefs, Engineering Enablers, Jira Epics/Stories, GitHub Issues, local requirements, ADRs, or small session context.
12
+
13
+ Use proportional rigor: `LIGHT`, `STANDARD`, `ELEVATED`.
14
+
15
+ Keep explicit human gates for material requirements, substantive plans, meaningful implementation acceptance, the final merge/delivery decision, and production deployment.
16
+
17
+ Once a bounded action is authorized, routine mechanics inside that scope should proceed without repeated ceremonial confirmation.
18
+
19
+ For implementation, establish the repository-appropriate short-lived work branch as routine setup once implementation itself is authorized; do not add a separate branch-creation gate when branch policy/naming and scope are clear.
20
+
21
+ Continuous modes such as `/grill-me`, `/grill-with-docs`, `/refine-requirements`, `/coach`, `/learning-review`, and `/deployment-readiness` continue until stopped or naturally complete.
22
+
23
+ During interactive questioning, prefer concise choice-first options for genuinely bounded human decisions, including `Other / specify` and `Not sure — recommend one` when appropriate. Keep factual/environment-specific values and questions intended to elicit the human's own framing, reasoning, debugging approach, design rationale, or understanding open-ended unless options are later useful as scaffolding.
24
+
25
+ For deployment readiness, inspect existing non-secret configuration before asking setup questions. Show already-known simple machine facts such as hostname/address, deployment user, port, and target OS for confirmation. Ask only for missing or conflicting facts. Keep deployment-tool implementation identifiers such as logical target names, `targetName`, SSH aliases, profile paths, and trust-file paths internal unless troubleshooting or genuine ambiguity requires them.
26
+
27
+ Shared managed code keeps its canonical owner. When a consumer contains `CORE_BASELINE.json` or `DEPLOYMENT_BASELINE.json`, treat those baselines as ownership evidence. A temporary edit to a shared-managed consumer file may be used to diagnose or prove a reusable defect, but it is not the canonical deliverable.
28
+
29
+ Before consumer delivery, run available managed-baseline integrity checks. If Core- or Deployment-Kit-managed files have unexplained local drift, stop before staging/commit/push and route the reusable change through `/upstream-fix`. Fix the owning canonical repository, deliver/merge it there under normal gates, then adopt the exact accepted shared commit back into the consumer through the appropriate sync mechanism and retest in consumer context.
30
+
31
+ Do not manually preserve a private consumer fork of shared managed code merely because the consumer exposed the bug. Consumer-owned product/application files remain normal consumer implementation scope.
32
+
33
+ After implementation review and local human acceptance, manually invoking `/deliver` authorizes routine short-lived-branch recovery/setup as needed, selective stage/commit/push, PR creation/update, and PR-CI inspection. `/deliver` then stops once for the explicit `Merge and finalize delivery` decision. When the PR still exactly matches the accepted implementation, that one choice combines final PR acceptance, merge authorization, post-merge CI observation, and safe delivered-branch finalization.
34
+
35
+ Changed PR evidence re-opens the relevant review gate. Merge never implies production-deployment authorization.
36
+
37
+ ## Post-delivery documentation and learning handoff
38
+
39
+ After engineering delivery is complete, documentation impact and learning are **non-blocking follow-ups**, not new delivery states or gates.
40
+
41
+ Use the accepted work-item/PR diff conservatively to classify likely documentation impact. Examples:
42
+
43
+ - public API/contract changes may affect architecture/runtime/API narrative;
44
+ - services, dependencies, messaging, caches, auth, observability, deployment topology, or failure handling may affect System evidence;
45
+ - entities, migrations, schema/DDL, ORM, queries, constraints, or indexes may affect DB evidence;
46
+ - environment/deployment changes may affect operations docs;
47
+ - durable developer/test workflow changes may affect engineering docs;
48
+ - a consequential architectural tradeoff may deserve an ADR recommendation.
49
+
50
+ A changed file proves relevant evidence was touched; it does not by itself prove a runtime or physical-schema change.
51
+
52
+ When the relevant tools exist and prerequisites are safe, `/deliver` may best-effort prepare **disposable** evidence/site projections under:
53
+
54
+ ```text
55
+ .project-forge/docs-cache/system/
56
+ .project-forge/docs-cache/database/
57
+ .project-forge/docs-site/
58
+ ```
59
+
60
+ System evidence may be reconstructed from the current repository. Database evidence may be generated automatically only when a safe local development/test database path is already explicit; never guess a path merely to populate docs.
61
+
62
+ If `tools/project-forge-docs/docs-site.py` exists, a build of the local documentation projection may follow safe lab preparation. Failure to build docs or a lab projection does not change `DELIVERY COMPLETE`.
63
+
64
+ Do not silently rewrite project-owned narrative or approve/create an ADR solely because implementation evidence changed. Instead surface a compact `DOCUMENTATION IMPACT` handoff, for example:
65
+
66
+ ```text
67
+ DOCUMENTATION IMPACT
68
+
69
+ ✓ Project brief: no material change detected
70
+ ★ System evidence: changed; current projection prepared
71
+ ★ Database evidence: changed; /db-lab recommended
72
+ ○ ADR consideration: new synchronous external dependency introduced
73
+
74
+ /docs — explore the current project documentation
75
+ ```
76
+
77
+ Use only claims supported by observed evidence. Keep `/docs`, `/db-lab`, `/system-lab`, `/code-walkthrough`, and `/learning-review` visible when useful, but never require them solely to complete engineering delivery.
78
+
79
+ Do not pin or automatically escalate models.
@@ -0,0 +1,35 @@
1
+ # Coding / DSA Drills
2
+
3
+ Optional interview-style practice.
4
+
5
+ Preferred loop:
6
+
7
+ ```text
8
+ problem
9
+ → clarifying questions
10
+ → approach
11
+ → complexity
12
+ → code
13
+ → tests/edge cases
14
+ → hints only when needed
15
+ → alternatives
16
+ → feedback
17
+ ```
18
+
19
+ Patterns:
20
+
21
+ - arrays/strings,
22
+ - hash map/set,
23
+ - stack/queue,
24
+ - two pointers,
25
+ - sliding window,
26
+ - sorting,
27
+ - binary search,
28
+ - linked lists,
29
+ - trees,
30
+ - BFS/DFS,
31
+ - graph basics,
32
+ - recursion,
33
+ - Big-O.
34
+
35
+ Prefer project-themed exercises when practical.
@@ -0,0 +1,59 @@
1
+ # Diagram Guide
2
+
3
+ Diagrams are learning views, not architecture authorities.
4
+
5
+ Use current repository/runtime/database evidence first. Generated diagrams are disposable projections and should normally be regenerated from current evidence when the relevant lab is invoked rather than manually maintained.
6
+
7
+ ## Lightweight diagrams
8
+
9
+ Coach may use ephemeral Mermaid/text diagrams in chat for:
10
+
11
+ - architecture,
12
+ - request flow,
13
+ - sequence,
14
+ - state machine,
15
+ - ER/data relationships,
16
+ - CI/CD,
17
+ - deployment,
18
+ - concurrency,
19
+ - messaging timelines,
20
+ - failure propagation.
21
+
22
+ Only save them as durable project artifacts when explicitly requested.
23
+
24
+ ## Interactive diagrams
25
+
26
+ Prefer `/db-lab` when the learning question needs schema/query/index/ORM/plan evidence. Prefer `/system-lab` when it needs architecture/runtime/API/dependency/failure/scale/observability/security/deployment evidence.
27
+
28
+ Interactive views should support learning, not merely look attractive. Useful interactions include:
29
+
30
+ - select a scenario and highlight participating nodes/edges;
31
+ - click a component/table/dependency for evidence and responsibilities;
32
+ - show query/index/plan relationships;
33
+ - show work-item change overlays;
34
+ - show failure or scale perturbations;
35
+ - link system database nodes to `/db-lab` depth;
36
+ - distinguish current evidence from inferred topology.
37
+
38
+ ## Evidence provenance
39
+
40
+ Use explicit labels where ambiguity matters:
41
+
42
+ ```text
43
+ CONFIRMED BY CODE
44
+ CONFIRMED BY RUNTIME
45
+ DOCUMENTED INTENT
46
+ INFERRED
47
+ UNKNOWN
48
+ LEARNER ASSUMPTION
49
+ ```
50
+
51
+ A static dependency edge is not automatically proof that the call occurred at runtime. A generated ERD is not more authoritative than the physical database metadata from which it was generated.
52
+
53
+ ## Learning behavior
54
+
55
+ After a diagram, ask the developer to explain the relevant flow, state, failure path, boundary, scaling concern, or tradeoff.
56
+
57
+ For advanced exercises, ask the learner to predict a failure/plan/scale consequence before revealing the overlay when useful.
58
+
59
+ Never require the human to "refresh" or "rebuild" a learning diagram as routine maintenance. Running the lab means inspect current evidence and create/show the current view.
@@ -0,0 +1,108 @@
1
+ # Engineering Learning Workbook
2
+
3
+ This is an optional, repository-neutral learning scaffold.
4
+
5
+ Use the actual project first. The goal is to understand, trace, debug, defend, and explain real engineering work rather than memorize a generic curriculum.
6
+
7
+ ## Learning tools
8
+
9
+ Use the learning tools for different purposes:
10
+
11
+ ```text
12
+ /code-walkthrough — instructional walkthrough of actual implementation changes
13
+ /learning-review — assessment of whether the developer can explain and defend the implementation
14
+ /coach — targeted concept learning, debugging practice, design discussion, drills, and deeper follow-up
15
+ /db-lab — evidence-backed database/schema/ORM/query-plan/change exploration and database interview practice
16
+ /system-lab — evidence-backed architecture/runtime/failure/scale/change exploration and system-design interview practice
17
+ ```
18
+
19
+ All learning activity is optional and never an engineering delivery gate.
20
+
21
+ For database usage examples, see `docs/process/DATABASE_LEARNING_WORKBENCH.md` in a greenfield consumer. For advanced system-design usage, see `docs/process/SYSTEM_DESIGN_LEARNING_WORKBENCH.md`.
22
+
23
+ ## Preferred project-first sequence
24
+
25
+ When an implementation is stable enough to study, a useful optional sequence is:
26
+
27
+ ```text
28
+ implementation
29
+ → /code-walkthrough
30
+ → /learning-review
31
+ → targeted /coach, /db-lab, or /system-lab where gaps remain
32
+ ```
33
+
34
+ After successful delivery, the workflow may surface the relevant evidence labs again while the change is fresh. A work item that changed persistence may make `/db-lab changes <work-item>` especially useful; one that changed APIs, dependencies, messaging, runtime topology, security, observability, performance or failure behavior may make `/system-lab changes <work-item>` especially useful. These are recommendations, not gates.
35
+
36
+ A code walkthrough should connect two views of every meaningful change:
37
+
38
+ ```text
39
+ FUNCTIONAL
40
+ What behavior changed? What can the user/system do now?
41
+
42
+ TECHNICAL
43
+ Which files, classes, functions, data structures, framework mechanisms, tests, and dependencies make that behavior work?
44
+ ```
45
+
46
+ Then connect the files into an end-to-end flow such as request, data, state, event, persistence, UI, or operational behavior. Use the repository's actual architecture rather than forcing a generic sequence.
47
+
48
+ During a walkthrough, deeper learning can branch into tracing, interactive diagrams, debugging discussion, design tradeoffs, quizzes, capacity/failure reasoning, or interview-style explanation. The walkthrough and labs remain read-only; discovered implementation issues return to the normal engineering workflow rather than being silently fixed inside learning mode.
49
+
50
+ ## Advanced learning pattern
51
+
52
+ Evidence labs should favor active reasoning:
53
+
54
+ ```text
55
+ current evidence
56
+ → learner prediction/assumption
57
+ → reveal strongest available evidence
58
+ → explain discrepancy
59
+ → trace/apply/debug
60
+ → defend tradeoff
61
+ → change one constraint
62
+ → reason again
63
+ ```
64
+
65
+ Use explanation-first when the human asks for it. Do not turn every learning interaction into a quiz.
66
+
67
+ Generated workbench diagrams are disposable projections. The repository/database/runtime evidence remains authoritative, and invoking a lab should rebuild its view from current evidence automatically.
68
+
69
+ ## Suggested practice loop
70
+
71
+ ```text
72
+ concept or changed code
73
+ → project example
74
+ → developer explains in own words
75
+ → trace/apply/debug
76
+ → tradeoff/failure-mode follow-up
77
+ → interview-style explanation when useful
78
+ ```
79
+
80
+ ## Core areas
81
+
82
+ - language/framework fundamentals,
83
+ - application/request/data flow,
84
+ - APIs and integration boundaries,
85
+ - database/SQL/ORM behavior,
86
+ - frontend state/validation/accessibility when relevant,
87
+ - testing/debugging/observability,
88
+ - messaging/distributed systems when relevant,
89
+ - CI/CD/deployment/operations,
90
+ - security and data protection,
91
+ - architecture/system design,
92
+ - capacity/performance/reliability,
93
+ - coding/DSA interview patterns.
94
+
95
+ Use `LEARNING_MAP.md` to choose a small number of high-value topics and the drill files for focused practice. Database and system-design depth should be tracked by independent competencies rather than one broad score. Learning progress is optional and never an engineering gate.
96
+
97
+ ## Experience credibility
98
+
99
+ Keep these categories distinct:
100
+
101
+ ```text
102
+ actually implemented/used
103
+ AI-generated but reviewed/understood
104
+ studied/practiced
105
+ not yet understood
106
+ ```
107
+
108
+ A code walkthrough or lab can help move AI-assisted implementation toward reviewed/understood code, but it does not by itself prove mastery or professional experience. Generated diagrams and completed exercises must not become false claims of professional experience.
@@ -0,0 +1,108 @@
1
+ # Optional Engineering Learning Map
2
+
3
+ Use only when useful.
4
+
5
+ Tracks:
6
+
7
+ - language/framework fundamentals,
8
+ - application architecture,
9
+ - APIs/HTTP,
10
+ - databases/SQL/ORM,
11
+ - frontend,
12
+ - testing/debugging,
13
+ - messaging/event-driven systems,
14
+ - Docker/CI/CD/operations,
15
+ - security,
16
+ - system design,
17
+ - coding/DSA,
18
+ - interview communication.
19
+
20
+ Levels:
21
+
22
+ ```text
23
+ L1 Recognize
24
+ L2 Explain
25
+ L3 Trace
26
+ L4 Apply / Debug
27
+ L5 Defend / Design
28
+ L6 Interview Ready
29
+ ```
30
+
31
+ ## Database learning is multi-dimensional
32
+
33
+ Do not reduce database learning to one "SQL" level. When database depth matters, assess the relevant areas independently:
34
+
35
+ ```text
36
+ relational modeling
37
+ keys + integrity constraints
38
+ normalization + anomalies
39
+ SQL query construction
40
+ indexes + access patterns
41
+ query plans + performance reasoning
42
+ transactions + concurrency
43
+ ORM translation
44
+ schema evolution + migrations
45
+ database debugging
46
+ design defense / interview communication
47
+ ```
48
+
49
+ Use `/db-lab` for evidence-backed exploration of the current project's schema, queries, ORM translation, query plans, migrations, change impact, and query-to-ERD relationships. Invoking the lab means inspect current evidence; generated views are disposable rather than manually maintained diagrams. Use `/coach` for adaptive teaching and reinforcement.
50
+
51
+ ## System-design learning is multi-dimensional
52
+
53
+ Do not reduce system design to one generic architecture score. Assess the relevant areas independently:
54
+
55
+ ```text
56
+ requirements + scope framing
57
+ capacity estimation + workload modeling
58
+ API + contract design
59
+ service/module decomposition
60
+ data/storage selection
61
+ caching
62
+ messaging + asynchronous workflows
63
+ consistency + distributed coordination
64
+ scaling + partitioning
65
+ availability + fault tolerance
66
+ latency + performance
67
+ runtime/deployment topology
68
+ observability + SLO reasoning
69
+ security + abuse resistance
70
+ cost/complexity awareness
71
+ architecture evolution
72
+ incident/debug reasoning
73
+ testing/verification strategy
74
+ tradeoff defense
75
+ interview communication
76
+ ```
77
+
78
+ Use `/system-lab` for evidence-backed exploration of the current project's architecture, runtime/data/event flows, dependencies, failure behavior, capacity/performance, observability, security, messaging, deployment, testing, work-item architecture impact, evolution, and interview practice. Generated interactive diagrams are disposable projections of current evidence; they are not a second architecture authority and should be regenerated from current evidence when the lab is invoked.
79
+
80
+ Use `/coach system design` for conceptual teaching, adaptive questions, and transfer practice. Prefer prediction-before-reveal for plans, failures, scale changes, consistency situations, and design perturbations when that improves learning.
81
+
82
+ ## How real-code learning maps to the levels
83
+
84
+ A structured `/code-walkthrough` is especially useful for the first three levels:
85
+
86
+ ```text
87
+ L1 Recognize — identify important changed files, responsibilities, and concepts
88
+ L2 Explain — describe the functional and technical changes in own words
89
+ L3 Trace — follow request/data/state/event flow across the implementation
90
+ ```
91
+
92
+ Deeper follow-up can move into:
93
+
94
+ ```text
95
+ L4 Apply / Debug — reason through failure modes, evidence, and debugging approach
96
+ L5 Defend / Design — explain choices, alternatives, tradeoffs, and architecture
97
+ L6 Interview Ready — explain the implementation clearly under follow-up questioning
98
+ ```
99
+
100
+ For database work, L4-L6 should include evidence-based reasoning about schema choices, constraints, access patterns, indexes/plans, transactions, ORM behavior, migration safety, and credible alternatives where relevant.
101
+
102
+ For system-design work, L4-L6 should include evidence-based reasoning about workload assumptions, boundaries, APIs/data flows, failure propagation, consistency, latency, scaling, reliability, observability, security, deployment, testing, cost/complexity, architecture evolution, and credible simpler alternatives.
103
+
104
+ A learner can be L5 in API design and L2 in distributed consistency, or strong in SQL construction and weak in indexing. Preserve that shape instead of averaging it away.
105
+
106
+ Use `/learning-review` to assess understanding after a walkthrough. Use `/coach` for targeted reinforcement, practice, or deeper exploration. Use `/db-lab` and `/system-lab` when concrete project evidence is the learning material. These activities are optional and do not affect engineering delivery state.
107
+
108
+ Coach should recommend only a small number of next topics based on the actual repository/work item.
@@ -0,0 +1,39 @@
1
+ # Optional Learning Progress
2
+
3
+ This file is optional and never an engineering gate.
4
+
5
+ | Topic | Level | Evidence/session | Next target | Last reviewed |
6
+ |---|---:|---|---|---|
7
+ | Language/framework | Not assessed | | | |
8
+ | Architecture | Not assessed | | | |
9
+ | Database/SQL | Not assessed | | | |
10
+ | Frontend | Not assessed | | | |
11
+ | Testing/debugging | Not assessed | | | |
12
+ | CI/CD/operations | Not assessed | | | |
13
+ | Security | Not assessed | | | |
14
+ | System design | Not assessed | | | |
15
+ | Coding/DSA | Not assessed | | | |
16
+
17
+ ## Evidence examples
18
+
19
+ Record evidence only when the human explicitly chooses to update learning progress. Useful evidence can include:
20
+
21
+ - completed `/code-walkthrough` of a real implementation change set;
22
+ - explained the functional and technical purpose of important changed files;
23
+ - traced a request/data/state/event path across the implementation;
24
+ - explained a design choice and a credible alternative;
25
+ - reasoned through a failure mode or debugging approach;
26
+ - predicted then explained query-plan/index behavior using `/db-lab` evidence;
27
+ - explained schema/ORM/migration consequences from `/db-lab changes <work-item>`;
28
+ - traced an evidence-backed runtime/dependency path using `/system-lab`;
29
+ - predicted failure propagation, bottlenecks, consistency behavior, or latency consequences and reconciled the prediction with evidence;
30
+ - defended an architecture choice against a simpler credible alternative;
31
+ - adapted a design after an interview-style scale/reliability/security constraint changed;
32
+ - passed a `/learning-review` question at a demonstrated level;
33
+ - completed a focused `/coach` exercise or drill.
34
+
35
+ For database and system-design depth, prefer recording the demonstrated competency rather than one broad level. For example, capacity estimation, distributed consistency, API design, relational modeling and query-plan reasoning can legitimately be at different levels.
36
+
37
+ A walkthrough, generated workbench, or completed lab invocation is evidence of learning/review activity, not automatic proof of mastery. Record demonstrated understanding conservatively.
38
+
39
+ Do not update automatically.
@@ -0,0 +1,25 @@
1
+ # Optional External Learning Resources
2
+
3
+ Prefer:
4
+
5
+ 1. official docs,
6
+ 2. official/vendor tutorials,
7
+ 3. current high-quality videos,
8
+ 4. interactive practice.
9
+
10
+ Show only 1–3 resources at a time.
11
+
12
+ Suggested source families:
13
+
14
+ - language/framework official docs,
15
+ - database vendor docs,
16
+ - MDN for web/HTTP,
17
+ - Docker docs,
18
+ - GitHub/Git docs,
19
+ - testing-framework docs,
20
+ - LeetCode or equivalent for targeted DSA/SQL practice.
21
+
22
+ When current web access is available, verify specific current video/tutorial
23
+ recommendations rather than relying on stale links.
24
+
25
+ External resources never become an engineering requirement.