docs(integration): remove Learning download size checks

This commit is contained in:
2026-08-20 14:47:01 +08:00
parent 0c1a3601dd
commit d16cacece7
15 changed files with 105 additions and 106 deletions

View File

@@ -0,0 +1,72 @@
# Task: Integrate Learning download size removal
## Identity
- Task ID: 20260820-integrate-download-size-6e3a91c2
- Mode: Integration
- Branch: codex/20260820-integrate-download-size-6e3a91c2-integrate-download-size
- Worktree: D:\Datas\OthersProjects\makelore-integrate-download-size-6e3a91c2
- Base commit: 2168e291b2bf8ac8690c482f56400554a8d77531
- Owner: codex
- Status: Ready for Integration
## Scope
- Merge verified source commit `8509084` into the integration branch.
- Promote the accepted Learning download behavior into ADR-005, architecture,
domain rules, success criteria, README, server contract, current state,
evidence, and the pending production-smoke commitment.
- Advance local `main` without overwriting its pre-existing untracked task
record.
## Intent And Constraints
- Follow the user's explicit decision that project downloads must not perform
archive-size validation.
- Preserve Main ownership of authentication, fixed archive routes, same-origin
redirects, native destination selection, SHA-256, ZIP signature, temporary
files, cleanup, and atomic rename.
- Keep the Works Square upload/storage size policy distinct from client download
behavior: the service may retain an independent operations upload limit, but
Makelore does not enforce it while downloading.
- Do not modify, add, remove, or adopt the unrelated untracked record already in
the canonical `main` worktree.
## Outcome
- Merged source commit `8509084` through integration merge `0c1a360`.
- Promoted the no-size-validation behavior into ADR-005, the decision index,
system overview, module map, data flow, domain rules, glossary, success
criteria, current state, evidence index, README, server collaboration
contract, and Learning production-smoke commitment.
- Kept the optional 512 MiB rule only as an independent Works Square operations
upload/storage policy; Makelore does not enforce it during download.
- Preserved SHA-256, ZIP signature, same-origin redirects, account binding,
temporary-file cleanup, and atomic save.
## Verification
- Pinned pnpm 10.33.4 frozen install: passed.
- Focused Learning tests: `2` files, `17 passed`.
- Full unit suite: first run had one unrelated Robot async-loading test failure;
that test passed immediately in isolation, and the complete rerun passed
`176` files / `2061` tests.
- `pnpm run typecheck`: passed.
- `pnpm run lint:check`: passed with zero errors and six pre-existing warnings.
- `pnpm run build:vite`: passed for Renderer, Main, Preload, and utility worker;
existing dynamic-import and chunk-size advisories only.
- Canonical size-rule scan and `git diff --check`: passed.
- Independent sub-agent review was not run because the user explicitly required
that no sub-agents be created; final integration review stayed in the primary
task.
## Follow-ups
- Package and smoke the merged client with a real archive response that omits or
misreports `Content-Length`.
- Monitor disk-space behavior for very large archives because the client now has
no archive-size ceiling by explicit product decision.
## Promotion Candidates
- None; accepted source-task candidates were promoted in this Integration Gate.

View File

@@ -1,84 +0,0 @@
# Task: Remove Learning archive size validation
## Identity
- Task ID: 20260820-remove-download-size-check-4f8a2c1d
- Mode: Feature
- Branch: codex/20260820-remove-download-size-check-4f8a2c1d-remove-download-size-check
- Worktree: D:\Datas\OthersProjects\makelore-remove-download-size-check-4f8a2c1d
- Base commit: 2168e291b2bf8ac8690c482f56400554a8d77531
- Owner: codex
- Status: Ready for Integration
## Scope
- Remove Learning project ZIP download checks that reject a response because of
an archive byte limit, declared archive size, or `Content-Length` mismatch.
- Keep the existing authenticated Main-owned download route, controlled
same-origin redirects, SHA-256 verification, ZIP signature validation,
temporary-file cleanup, and atomic final rename.
- Add focused regression coverage proving a valid archive downloads even when
its reported sizes are absent, inconsistent, or above the former limit.
## Intent And Constraints
- Follow the user's explicit direction to download without any size validation.
- Do not expose Works credentials, upstream archive URLs, temporary paths, or
final local paths to Renderer.
- Do not weaken digest or ZIP-format integrity checks; those are independent of
archive size validation.
- Limit production changes to the existing Electron Main Learning download
service and focused tests.
- This is a feature task, so canonical project memory remains unchanged until a
later Integration Gate.
## Outcome
- Electron Main no longer reads or compares archive `Content-Length`, project
`archiveBytes`, actual streamed bytes, or the former 512 MiB ceiling when
saving a Learning project.
- Learning project DTO projection accepts positive safe-integer archive sizes
above the former client limit so those projects can reach the download flow.
- SHA-256, ZIP signature, MIME, account-binding, redirect/origin, temporary-file
cleanup, and atomic rename checks remain unchanged.
- Added regressions for omitted `Content-Length`, inconsistent reported sizes,
and metadata above the former limit.
## Verification
- Red phase: the two new size-removal regressions failed against the old
implementation with `LEARNING_PROJECT_INVALID` and
`LEARNING_INVALID_RESPONSE`.
- Focused Learning tests: `2` files, `17 passed`.
- Full unit suite via pinned pnpm 10.33.4: `176` files, `2061 passed`.
- `pnpm run typecheck`: passed.
- `pnpm run lint:check`: passed with zero errors and six pre-existing warnings.
- `pnpm run build:vite`: passed; existing dynamic-import and chunk-size
advisories only.
- `git diff --check`: passed.
- Independent sub-agent review was not run because the user explicitly required
that no sub-agents be created; final review was performed in the primary task.
## Follow-ups
- Integrate the source commit into `main`.
- During Integration Gate, reconcile all canonical documentation and remove the
obsolete size-failure smoke cases listed in the promotion candidate below.
## Promotion Candidates
- Target: ADR-005, Learning system overview/domain/current state, `README.md`,
`docs/learning-project-catalog-server-contract.md`, success criteria, and the
Learning release commitment.
- Proposal: remove the client download byte ceiling and all declared/
transport size consistency requirements while retaining same-origin
redirects, SHA-256, ZIP signature, temporary-file cleanup, and atomic save.
- Evidence: explicit user direction and focused download regressions from
this task.
- Future impact: the desktop client may consume disk space according to the
upstream archive size; server-side publication/storage policy may still set
independent upload limits, but they are not enforced during client download.
- Semantic conflicts: supersedes the 512 MiB and declared-size requirements
in accepted ADR-005 and its derivative documentation and smoke checklist.
- Human confirmation required: no; the user explicitly requested removal of
download size validation.