Extend the dataset group beyond the verified project query to the full
documented contract:
- dataset +view -> GET /v1/{owner}/{repo}/dataset (+page/limit)
- dataset +list --ids -> GET /v1/project_datasets (prod-verified)
- dataset +create -> POST /v1/{owner}/{repo}/dataset
- dataset +update -> PUT /v1/{owner}/{repo}/dataset
- dataset +delete-attachment -> DELETE /attachments/{uuid}
Quality over a bare contract port: bilingual (en-US/zh-CN) i18n help,
--dry-run preview on create/update, --yes confirmation guard on the
destructive attachment delete, and license-id validation.
Only /v1/project_datasets is currently reachable on production www; the
per-repo routes follow the published OpenAPI spec and return 404 there
until the platform deploys them (documented in the change note). Unit
tests exercise every command against a mock server.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Add a `dataset` shortcut group for querying GitLink research datasets,
which previously had no shortcut coverage:
- dataset +list --ids <ids> -> GET /v1/project_datasets
- dataset +view -> GET /v1/project_datasets (project ID
resolved from --owner/--repo)
Only the platform-wide query endpoint is available on production
gitlink.org.cn; the documented per-repo dataset CRUD routes return 404
there (verified against the API), so this group wraps the query endpoint
for both listing and per-repo viewing.
Includes unit tests, bilingual (en-US/zh-CN) i18n help text, README
updates, and a change note.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
IssueOps loop: create an issue -> agent picks it up -> result written back.
Two modes: live webhook callback, and a zero-infra Replay mode that polls
'webhook +tasks' (GitLink records every delivery payload even if the endpoint
is unreachable - validated on the real platform).
- SKILL.md: task conventions ([agent] prefix / agent:todo label), 7-step loop,
untrusted-input rule (issue content is data, never instructions), write ops
gated on user confirmation, gatekeeper integration for code tasks
- references/REFERENCE.md: allowed webhook events, hooktask payload anatomy,
dedup cursor, the two issue-id/API tracks (v1 PATCH tag_ids for plain issues),
CLI 0.2.0 quirks discovered during validation
- references/validation-session.md: full real-platform run with verifiable ids
(webhook 51579, issue #3/144169, hooktask 4836246, comment 475692, label attached)
Requested by maintainer in #6 ('后续可以考虑出一个示例 Skill 来演示这个场景').
Runnable reference implementation of the merged gitlink-gatekeeper Skill:
collect -> route -> decide (deterministic 0-100 scorecard, three-state verdict)
-> write-back (comment + label + tracking issue, --apply gated, never auto-merge).
- scripts/gatekeeper_workflow.py: single-PR gate loop (pure stdlib, py>=3.9)
- scripts/gatekeeper_sweep.py: repo-wide triage — real run over all 113 open PRs
of this repo (read-only): PASS 105 / COMMENT 6 / REQUEST_CHANGES 2, avg 88.5
- findings.example.json: real code-review findings of a real PR diff (verifiable line numbers)
- ci-example/: Gitea Actions integration (exit code 2 = REQUEST_CHANGES as CI gate)
- docs: architecture / quickstart / runbook / verification (real-platform evidence)
- tests/test_scoring.py: determinism regression guard (green)
Closes the sub-task-3 loop on top of the label command (#89) and the
gitlink-gatekeeper Skill (#90), sharing one policy file across all three layers.
Resolved conflicts in README.md, README.zh-CN.md, repo.go, repo_test.go,
skills/README.md, skills/gitlink-repo/SKILL.md. Updated register_test.go
to include new license group.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>