From e297e0e2f473ef7acf352f070a68048966a6df0f Mon Sep 17 00:00:00 2001 From: Kkkakania <200867803+Kkkakania@users.noreply.github.com> Date: Tue, 30 Jun 2026 09:06:56 +0800 Subject: [PATCH] docs: document local resource intake --- README.md | 2 ++ docs/local_resource_intake.md | 51 +++++++++++++++++++++++++++++++++++ docs/provenance_policy.md | 2 ++ tests/test_render.py | 10 +++++++ 4 files changed, 65 insertions(+) create mode 100644 docs/local_resource_intake.md diff --git a/README.md b/README.md index 7234449..2744dc1 100644 --- a/README.md +++ b/README.md @@ -169,6 +169,8 @@ python -m pytest tests/ ``` 详细规则见 [`docs/provenance_policy.md`](docs/provenance_policy.md)。 +本地资料只可作为需求来源,不能直接搬运;见 +[`docs/local_resource_intake.md`](docs/local_resource_intake.md)。 ## 设计致敬 diff --git a/docs/local_resource_intake.md b/docs/local_resource_intake.md new file mode 100644 index 0000000..b3e173c --- /dev/null +++ b/docs/local_resource_intake.md @@ -0,0 +1,51 @@ +# Local Resource Intake + +This repository can use local study folders only as a requirements source. The +public project should publish clean-room templates, synthetic data, and selected +gallery previews, not raw course packs or private exports. + +## Useful Signals + +Local folders can safely suggest missing public work when they are reduced to a +plain chart or workflow need: + +- signal-processing plots: spectrum, filter response, modulation, matched + filtering, time-frequency views; +- modelling algorithms: optimization traces, clustering maps, graph paths, + forecast and evaluation summaries; +- simulation views: scalar fields, vector fields, streamlines, residuals, modal + shapes; +- paper layout patterns: multipanel grids, shared colorbars, insets, marginal + distributions, broken axes; +- project-management charts: Gantt, PERT/CPM, WBS, burndown, resource load, + earned-value curves; +- cross-platform plotting gaps: Origin-like chart families rebuilt in Python + from synthetic data. + +Write these as backlog notes or clean-room templates. Do not copy the source +file that exposed the need. + +## Keep Out + +Do not commit or quote from: + +- paid-course files, book companion files, videos, slides, screenshots, or + tutorial PDFs; +- `.opj`, `.opju`, `.fig`, `.mat`, `.p`, Office documents, archives, solver + project files, or binary caches; +- raw ANSYS, Origin, MATLAB, Project, or drawing-tool exports; +- local absolute paths, personal names, emails, student IDs, lab names, + watermarks, or delivery-pack metadata; +- full local render folders or bulk image dumps. + +## Public Conversion Rule + +Before adding anything inspired by a local folder, reduce it to one sentence: + +```text +Users need a clean synthetic example of for . +``` + +Then add the smallest public artifact that satisfies that sentence: one +template, one synthetic demo, one selected preview image if needed, and one test +or release check. If the idea needs private files to make sense, keep it out. diff --git a/docs/provenance_policy.md b/docs/provenance_policy.md index 45b3ebc..99c8c56 100644 --- a/docs/provenance_policy.md +++ b/docs/provenance_policy.md @@ -59,3 +59,5 @@ style and APIs of this repository. When in doubt, write a new minimal template with synthetic data and document the intended use case instead of importing an existing file. +For a concrete local-folder triage checklist, see +[`local_resource_intake.md`](local_resource_intake.md). diff --git a/tests/test_render.py b/tests/test_render.py index eb8eead..76aa505 100644 --- a/tests/test_render.py +++ b/tests/test_render.py @@ -69,3 +69,13 @@ def test_manifest_required_fields(): assert k in e, f"{e.get('name')} 缺字段 {k}" assert isinstance(e['tags'], list) assert e['name'] == e['name'].lower(), f'{e["name"]} 应该全小写' + + +def test_local_resource_intake_policy_is_linked(): + doc = ROOT / 'docs' / 'local_resource_intake.md' + assert doc.exists() + text = doc.read_text(encoding='utf-8') + assert 'Do not commit or quote from' in text + assert 'Users need a clean synthetic example' in text + assert 'docs/local_resource_intake.md' in (ROOT / 'README.md').read_text(encoding='utf-8') + assert 'local_resource_intake.md' in (ROOT / 'docs' / 'provenance_policy.md').read_text(encoding='utf-8')