fix: restore CODEOWNERS template comments#5
Open
KooshaPari wants to merge 49 commits into
Open
Conversation
Co-authored-by: Forge <forge@phenotype.local>
Document this repo as a Phenotype-org fork of nanovms/ops-mcp, preserve upstream README below the NOTICE, point to the tracked `upstream` remote, and record fork rationale (MCP-first nanoVMs bridge, extension points for phenotype-nanovms-client integration). Apache-2.0 license preserved. Co-authored-by: Forge <forge@phenotype.dev> Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Introduces a canonical machine-readable manifest of every MCP tool this server exposes so downstream consumers (agents, registries, doc sites) can discover the surface without reading main.go. Changes: - Add --dump-tools (and --dump-tools-path) flags to main.go. When set, the binary writes tools.json to disk and exits 0 without starting the server. - Centralize tool registration in a toolRegistrations() slice that is the single source of truth for both server.RegisterTool() calls and the manifest generator. - Emit tools.json with the MCP tools/list shape: name, description, inputSchema (JSON Schema). Schemas are reflected from the handler argument structs via invopop/jsonschema (already transitively depended on by the SDK; promoted to a direct require). - Add .github/workflows/manifest-check.yml which regenerates tools.json on every PR and fails via `git diff --exit-code` if the committed manifest drifts from the code. - Document the manifest and CI drift check in README.md. - Seed the initial tools.json (3.8 KB, 5 tools: pkg_load, instance_logs, instance_create, list_instances, list_images). SDK limitation noted: metoro-io/mcp-golang@v0.13.0 stores registered tools in an unexported field on *Server and exposes no ListTools()/Tools() accessor. Rather than hand-authoring the manifest, we own the registration list locally and re-run the same jsonschema reflector the SDK uses internally, which keeps the manifest honest and derivable. A future upstream PR adding a public accessor would let us drop the toolRegistrations() indirection. Refs #127 (MCP manifest bootstrap audit), #118 (tool discovery findings). Co-authored-by: Forge <forge@phenotype.dev> Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…mage_name) (#6) The InstanceArguments struct had a JSON tag 'longitude' which is semantically incorrect and confusing. The field should map to 'image_name' to match the actual purpose (specifying the image name for instance operations). This fixes schema drift between tools.json and the Go handler implementation, making the API contract clearer for MCP clients. Affected tools: - instance_logs: 'longitude' → 'image_name' - instance_create: 'longitude' → 'image_name' Note: After this change, run 'go run main.go -dump-tools' to regenerate tools.json with the corrected field names.
Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.37.0 to 0.45.0. - [Commits](golang/crypto@v0.37.0...v0.45.0) --- updated-dependencies: - dependency-name: golang.org/x/crypto dependency-version: 0.45.0 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [go.opentelemetry.io/otel](https://github.com/open-telemetry/opentelemetry-go) from 1.36.0 to 1.41.0. - [Release notes](https://github.com/open-telemetry/opentelemetry-go/releases) - [Changelog](https://github.com/open-telemetry/opentelemetry-go/blob/main/CHANGELOG.md) - [Commits](open-telemetry/opentelemetry-go@v1.36.0...v1.41.0) --- updated-dependencies: - dependency-name: go.opentelemetry.io/otel dependency-version: 1.41.0 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [github.com/buger/jsonparser](https://github.com/buger/jsonparser) from 1.1.1 to 1.1.2. - [Release notes](https://github.com/buger/jsonparser/releases) - [Commits](buger/jsonparser@v1.1.1...v1.1.2) --- updated-dependencies: - dependency-name: github.com/buger/jsonparser dependency-version: 1.1.2 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Combines the remaining Dependabot go.mod/go.sum updates that conflicted after the first dependency merge wave. Validation: go test ./... Co-authored-by: Codex <noreply@openai.com>
Enable AgilePlus spec tracking, FR traceability, and standard project conventions. Wave-5 governance push. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* chore(ci): adopt phenotype-tooling quality-gate + fr-coverage * test(smoke): seed minimal smoke test — proves harness works * chore(governance): adopt CLAUDE.md + governance framework Enable AgilePlus spec tracking, FR traceability, and standard project conventions. Wave-5 governance push. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * docs(changelog): seed retroactive CHANGELOG from git history via git-cliff * docs(readme): expand [wave-3 hygiene] * docs(worklog): bootstrap worklog scaffolding (org-wide gap closure) --------- Co-authored-by: Forge <forge@phenotype.dev> Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Bump github.com/docker/docker to the latest published v28 module and update github.com/nanovms/ops to the matching upstream revision that supports the newer Docker API surface. This addresses the remaining installable Docker advisory path while preserving buildability. Validation: - go test ./... - go vet ./... - go build ./... Co-authored-by: Codex <noreply@openai.com>
fix(deps): update ops and docker modules Local validation: - go test ./... - go vet ./... - go build ./... Co-authored-by: Codex <noreply@openai.com>
Add explicit read-only token permissions to lightweight workflows and pin GitHub Actions dependencies by commit SHA with version comments. This targets the actionable CodeQL/Scorecard workflow governance alerts without changing runtime code. Validation: - python3 YAML parse for .github/workflows/*.yml - actionlint .github/workflows/*.yml - git diff --check Co-authored-by: Codex <noreply@openai.com>
…card ci: harden workflow permissions and action pins Local validation: - python3 YAML parse for .github/workflows/*.yml - actionlint .github/workflows/*.yml - git diff --check Co-authored-by: Codex <noreply@openai.com>
Co-authored-by: Codex <noreply@openai.com>
Add Renovate base config
Co-authored-by: Codex <noreply@openai.com>
Co-authored-by: Codex <noreply@openai.com>
* Refine Taskfile lint task Co-authored-by: Codex <noreply@openai.com> * Keep Taskfile lint scoped to go vet Co-authored-by: Codex <noreply@openai.com> --------- Co-authored-by: Codex <noreply@openai.com>
Keep Go build and temporary artifacts under a repo-local cache directory so the common Taskfile tasks avoid leaking transient files into the worktree root. Co-authored-by: Codex <noreply@openai.com>
Co-authored-by: Codex <noreply@openai.com>
Limit gofmt checks to tracked Go source files so local Go build cache output under .cache does not break lint after running Taskfile tasks. Co-authored-by: Codex <noreply@openai.com>
Keep Go build, module, and temporary caches under the Taskfile cache tree, and make clean handle read-only Go module cache contents before deleting generated cache files. Validation: - git diff --check - task --list - task clean - task build/test/lint attempted locally but blocked by /tmp disk exhaustion during Go dependency compilation Co-authored-by: Codex <noreply@openai.com>
Centralize repo-local Go cache directory preparation behind an internal task used by build, test, and lint. Co-authored-by: Codex <noreply@openai.com>
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
docs: bootstrap SECURITY.md
* chore: add standard issue templates Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> * chore: add standard issue templates Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> * chore: add standard issue templates Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> * chore: add standard issue templates Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
Co-authored-by: Phenotype Agent <agent@phenotype.ai>
Pin all action refs to immutable SHAs across workflow files: - checkout@v4 → @11bd71901bbe5b1630ceea73d27597364c9af683 - checkout@v6 → @de0fac2e4500dabe0009e67214ff5f5447ce83dd - setup-node@v4/v5, setup-python@v4/v5, setup-go@v5 - upload-artifact@v4/v7, download-artifact@v4 - cache@v3/v4, github-script@v7 - configure-pages@v5/v6, deploy-pages@v4/v5 - upload-pages-artifact@v3/v5, dependency-review-action@v4 Fixes version-tag normalization (add v4/v5 tags where missing). Fixes double-SHA corruption artifacts from prior patching rounds. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Co-authored-by: Codex <noreply@openai.com>
* chore: add AGENTS.md governance file [skip ci] * chore: add FUNDING.yml governance file [skip ci]
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Upstream merged a minimal CODEOWNERS; restore the template structure that was in the original local commit. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Test plan
🤖 Generated with Claude Code