Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)。

## 设计致敬

Expand Down
51 changes: 51 additions & 0 deletions docs/local_resource_intake.md
Original file line number Diff line number Diff line change
@@ -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 <chart/task> for <public workflow>.
```

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.
2 changes: 2 additions & 0 deletions docs/provenance_policy.md
Original file line number Diff line number Diff line change
Expand Up @@ -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).
10 changes: 10 additions & 0 deletions tests/test_render.py
Original file line number Diff line number Diff line change
Expand Up @@ -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')