@homericintelligence/athena-opencode 0.4.4
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.
- package/LICENSE +29 -0
- package/NOTICE +22 -0
- package/README.md +45 -0
- package/package.json +29 -0
- package/plugin.js +54 -0
- package/skills/THIRD_PARTY_LICENSES.md +50 -0
- package/skills/_cli.py +152 -0
- package/skills/advise/SKILL.md +62 -0
- package/skills/advise/scripts/list_retrievable_skills.py +49 -0
- package/skills/brainstorm/SKILL.md +110 -0
- package/skills/change-review/SKILL.md +68 -0
- package/skills/change-review/references/scope-resolution.md +52 -0
- package/skills/change-review/scripts/resolve_scope.py +1219 -0
- package/skills/finalize-plan/SKILL.md +129 -0
- package/skills/git-worktrees/SKILL.md +113 -0
- package/skills/git-worktrees/scripts/prepare_worktree.py +153 -0
- package/skills/issue-review/SKILL.md +67 -0
- package/skills/learn/SKILL.md +208 -0
- package/skills/myrmidon-swarm/SKILL.md +93 -0
- package/skills/plan-issue/SKILL.md +70 -0
- package/skills/pr-review/SKILL.md +114 -0
- package/skills/pr-review/references/criteria.md +26 -0
- package/skills/pr-review/references/delivery.md +135 -0
- package/skills/pr-review/references/evidence.md +233 -0
- package/skills/pr-review/references/prevalidated.md +155 -0
- package/skills/pr-review/scripts/collect_evidence.py +1478 -0
- package/skills/pr-review/scripts/diff_context.py +74 -0
- package/skills/pr-review/scripts/materialize_snapshot.py +731 -0
- package/skills/pr-review/scripts/pr_identity.py +80 -0
- package/skills/pr-review/scripts/resolve_pr.py +258 -0
- package/skills/repo-review/SKILL.md +119 -0
- package/skills/systematic-debugging/SKILL.md +199 -0
- package/skills/systematic-debugging/scripts/repository_evidence.py +77 -0
- package/skills/test-driven-development/SKILL.md +75 -0
- package/skills/tidy/SKILL.md +71 -0
- package/skills/tidy/scripts/run_tidy.py +43 -0
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# Change-review scope-resolution safety
|
|
2
|
+
|
|
3
|
+
Why: a local checkout is mutable and may contain links, filters, and index
|
|
4
|
+
state that differ from the visible file path. Review only the resolver's bound
|
|
5
|
+
objects.
|
|
6
|
+
|
|
7
|
+
Read this reference after invoking `scripts/resolve_scope.py` and before
|
|
8
|
+
opening a manifest entry.
|
|
9
|
+
|
|
10
|
+
## Manifest and scope rules
|
|
11
|
+
|
|
12
|
+
The resolver returns selected paths, `content_source`, `path_entries`, immutable
|
|
13
|
+
base/head commits where applicable, selected untracked paths, and a
|
|
14
|
+
content-bound `scope_digest`. Treat each path as a lexical repository object,
|
|
15
|
+
not permission to follow a filesystem link.
|
|
16
|
+
|
|
17
|
+
- For `--worktree`, compare raw no-follow filesystem content with immutable Git
|
|
18
|
+
objects. Never run configured Git clean/process/text conversion or external
|
|
19
|
+
diff hooks on live files. If the product contract depends on conversion,
|
|
20
|
+
inspect safe repository evidence or report that coverage gap.
|
|
21
|
+
- For `--staged` and `--range`, inspect the selected Git objects, never live
|
|
22
|
+
worktree bytes. These scopes exclude untracked files; the worktree scope
|
|
23
|
+
includes raw untracked content in its digest, not only path names.
|
|
24
|
+
- The resolver is intentionally bounded. An oversized manifest, unavailable
|
|
25
|
+
no-follow capability, or submodule-state boundary is a coverage gap. Rerun
|
|
26
|
+
with narrower paths or a staged/range scope; never sample inaccessible state.
|
|
27
|
+
- Reject paths outside the repository root. Do not fall back from a requested
|
|
28
|
+
range, and do not create Git state to manufacture an identity.
|
|
29
|
+
|
|
30
|
+
## Inspect by `content_source`
|
|
31
|
+
|
|
32
|
+
- **`worktree`:** `path_entries.kind: file` is a no-follow live object whose
|
|
33
|
+
recorded mode is part of the identity. Read it in full with relevant callers,
|
|
34
|
+
tests, configuration, and public contracts. For `symlink`, report only the
|
|
35
|
+
manifest path and raw target as untrusted metadata; never use a filesystem
|
|
36
|
+
operation that follows its target.
|
|
37
|
+
- **`index`:** `git-blob`, `git-symlink`, `git-submodule`, and `absent` describe
|
|
38
|
+
the staged index. Inspect the reported immutable object ID or index object;
|
|
39
|
+
never substitute worktree bytes. Treat a `git-symlink` as metadata, not a
|
|
40
|
+
filesystem path.
|
|
41
|
+
- **`head-tree`:** inspect the reported immutable object ID or range-head tree,
|
|
42
|
+
never the current checkout. Treat a `git-symlink` as metadata, not a
|
|
43
|
+
filesystem path.
|
|
44
|
+
|
|
45
|
+
For `absent`, `other`, or `git-other`, inspect selected diff/object metadata
|
|
46
|
+
where possible and report the access boundary. Review generated files only as
|
|
47
|
+
their source and generation contract require.
|
|
48
|
+
|
|
49
|
+
Revalidate the manifest before inspection when the host has a no-follow file
|
|
50
|
+
capability. If it cannot keep an object safely in scope, do not dereference it;
|
|
51
|
+
use tracked Git evidence where available and report the remaining file-content
|
|
52
|
+
gap.
|