chore: add project documentation framework
This commit is contained in:
36
.project-docs/30-worklog/current-state.md
Normal file
36
.project-docs/30-worklog/current-state.md
Normal file
@@ -0,0 +1,36 @@
|
||||
# Current State
|
||||
|
||||
This file is the integrated default-branch snapshot. Feature tasks record progress in `30-worklog/tasks/{task_id}.md` and propose canonical changes for the Integration Gate. Feature tasks must not rewrite this file; it changes only in integration mode.
|
||||
|
||||
## Integrated Through
|
||||
|
||||
- {source task or merge commit}
|
||||
|
||||
## Current Focus
|
||||
|
||||
The project is currently focused on {current focus}.
|
||||
|
||||
## Recently Completed
|
||||
|
||||
- {YYYY-MM-DD}: {completed work summary}
|
||||
|
||||
## In Progress
|
||||
|
||||
- {in-progress item}
|
||||
|
||||
## Next Recommended Steps
|
||||
|
||||
1. {next recommended step}
|
||||
2. {next recommended step}
|
||||
|
||||
## Open Questions / Blockers
|
||||
|
||||
- {open question or blocker}
|
||||
|
||||
## Risky Areas
|
||||
|
||||
- {risky area}
|
||||
|
||||
## Last Updated
|
||||
|
||||
{YYYY-MM-DD}
|
||||
1
.project-docs/30-worklog/session-notes/.gitkeep
Normal file
1
.project-docs/30-worklog/session-notes/.gitkeep
Normal file
@@ -0,0 +1 @@
|
||||
|
||||
10
.project-docs/30-worklog/task-history.md
Normal file
10
.project-docs/30-worklog/task-history.md
Normal file
@@ -0,0 +1,10 @@
|
||||
# Task History
|
||||
|
||||
## Completed Tasks
|
||||
|
||||
| Date | Task | Outcome | Docs Updated |
|
||||
|---|---|---|---|
|
||||
|
||||
## Notes
|
||||
|
||||
This is legacy integrated history. Feature tasks must not append here. Record new work in `30-worklog/tasks/{task_id}.md`; an integration workflow may render or summarize accepted history later.
|
||||
35
.project-docs/30-worklog/task-template.md
Normal file
35
.project-docs/30-worklog/task-template.md
Normal file
@@ -0,0 +1,35 @@
|
||||
# Task: {title}
|
||||
|
||||
## Identity
|
||||
|
||||
- Task ID: {task_id}
|
||||
- Mode: {mode}
|
||||
- Branch: {branch}
|
||||
- Worktree: {worktree}
|
||||
- Base commit: {base_commit}
|
||||
- Owner: {owner}
|
||||
- Status: Planning
|
||||
|
||||
## Scope
|
||||
|
||||
- {scope}
|
||||
|
||||
## Intent And Constraints
|
||||
|
||||
- {intent_or_constraint}
|
||||
|
||||
## Outcome
|
||||
|
||||
- Not completed.
|
||||
|
||||
## Verification
|
||||
|
||||
- Not run.
|
||||
|
||||
## Follow-ups
|
||||
|
||||
- None recorded.
|
||||
|
||||
## Promotion Candidates
|
||||
|
||||
- None recorded.
|
||||
0
.project-docs/30-worklog/tasks/.gitkeep
Normal file
0
.project-docs/30-worklog/tasks/.gitkeep
Normal file
@@ -0,0 +1,69 @@
|
||||
# Task: Fix OpenMAIC frozen lockfile build
|
||||
|
||||
## Identity
|
||||
|
||||
- Task ID: 20260818-learning-lockfile-9d2a
|
||||
- Mode: Feature
|
||||
- Branch: main
|
||||
- Worktree: D:\Datas\OthersProjects\openmaic
|
||||
- Base commit: 0b4c45d696942c986c622ea3f3975740fbfe18a7
|
||||
- Owner: developer
|
||||
- Status: Ready for integration
|
||||
|
||||
## Scope
|
||||
|
||||
- Regenerate `OpenMAIC/pnpm-lock.yaml` from the current workspace manifests so
|
||||
`packages/@makelore/learning-contracts` is represented and Docker's frozen
|
||||
install can pass.
|
||||
- Verify the regenerated lockfile with pnpm `10.28.0` and the same frozen
|
||||
install command used by the Dockerfile.
|
||||
- Do not change application code or weaken the Dockerfile's frozen-lockfile
|
||||
policy.
|
||||
|
||||
## Intent And Constraints
|
||||
|
||||
- The current failure is a dependency metadata mismatch: the learning
|
||||
contracts package was added after the lockfile was last generated.
|
||||
- Use the package-manager version pinned by the Dockerfile (`pnpm@10.28.0`)
|
||||
when regenerating the lockfile.
|
||||
- Preserve the user's known `.project-docs/` adoption and avoid unrelated
|
||||
workspace changes.
|
||||
|
||||
## Outcome
|
||||
|
||||
- Added the missing `packages/@makelore/learning-contracts` importer to
|
||||
`OpenMAIC/pnpm-lock.yaml` with the existing resolved TypeScript and Vitest
|
||||
entries. No unrelated pnpm 10.28 reserialization changes were retained.
|
||||
- The original Dockerfile policy remains `pnpm install --frozen-lockfile`.
|
||||
- Committed locally on `main` as `e1a0a14` (`fix: sync learning contracts
|
||||
lockfile`).
|
||||
|
||||
## Verification
|
||||
|
||||
- `pnpm install --frozen-lockfile --ignore-scripts` passed with pnpm 10.28.0.
|
||||
- `pnpm --filter @makelore/learning-contracts test` passed: 1 file, 3 tests.
|
||||
- `git diff --check` passed; lockfile diff is limited to 9 importer lines.
|
||||
- Read-only final review returned `PASS`; the importer matches the manifest and
|
||||
existing lockfile peer snapshot, with no Dockerfile or application-code
|
||||
changes.
|
||||
- Full Windows `pnpm install --frozen-lockfile` reached the existing postinstall
|
||||
chain and failed because `rm` is unavailable on Windows; the Dockerfile runs
|
||||
this chain inside Linux Alpine, so this is not the reported Jenkins failure.
|
||||
- Local Docker `deps` validation was not run because the Docker Desktop Linux
|
||||
engine was unavailable (`dockerDesktopLinuxEngine` pipe missing).
|
||||
|
||||
## Follow-ups
|
||||
|
||||
- Commit and push `OpenMAIC/pnpm-lock.yaml`, then rerun the Jenkins Docker build.
|
||||
- Local push to `origin/main` was blocked because this environment has no
|
||||
authenticated Git credential/TTY; rerun `git push origin main` from an
|
||||
authenticated terminal.
|
||||
- If a Windows-native install is required, separately replace Unix-only `rm`
|
||||
usage in package build scripts; that is outside this lockfile fix.
|
||||
- The task-aware doc-drift check is blocked by the pre-existing adopted
|
||||
untracked `.project-docs/` template tree; no task-specific shared-doc writes
|
||||
were made.
|
||||
|
||||
## Promotion Candidates
|
||||
|
||||
- None recorded.
|
||||
Reference in New Issue
Block a user