Squash-merge verified business methodology depth at exact head 9ca552f4c0. Required validate and paired evaluation checks passed; advisory droid review had no blocking findings.
Squash-merge verified telemetry query depth at exact head 02d16c58a4. Required validate and paired evaluation checks passed; advisory droid review had no blocking findings.
Squash-merge verified React and Vite expertise at exact head d4fd6cf70d. Required validate and paired evaluation checks passed; advisory droid review had no blocking findings.
Squash-merge verified routing remediation at exact head 690f9c14b0. Required validate and paired evaluation checks passed; advisory droid review had no blocking findings.
2026-09-01 20:05:48 -04:00
Magnus HedemarkGitHubfactory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>factory-droid[bot] <138933559+factory-droid@users.noreply.github.com>
Research-driven rebuild of the peertube skill (docs.joinpeertube.org REST
reference 8.1.0 + SepiaSearch + server source + live anonymous probes):
- SKILL.md rewritten to the lastfm model: intent-grouped commands, pipeline
recipes, jq guidance, researched gotchas, When-to-use/When-not-to-use,
reference routing table. New negative boundary in the description
(YouTube/Vimeo uploads, video editing, server administration).
- scripts/peertube-cli -> scripts/peertube, rewritten and extended:
offset (start/count) pagination replaces the nonexistent page param,
comments fixed to the hyphenated /comment-threads route, server command
now composes /config/about + /server/stats (canonical paths), search
gains --search-target with searchTarget=local default and help text
stating its instance-local scope, new video/comments/channel/account/
my-videos/logout commands, --server hoisted before or after the
subcommand, OAuth2 password grant hardened for 2FA (x-peertube-otp)
and the production client_secret masking behavior, per-instance
owner-only token file with refresh-before-expiry and revocation.
- references/: auth-and-tokens, search-and-discovery, endpoint-catalog,
gotchas-field-guide, worked-recipes - all cited to official docs with
Sources footers (URLs verified live at authoring time).
- scripts/test_peertube.py: 54 offline tests (help, argument errors,
dry-run plans, mocked OAuth2 persistence/refresh/revocation, handler
contracts, documented pipeline chains) passing pytest strict-markers,
unittest discovery, and the proxy-trap zero-egress rerun; one
env-guarded anonymous live probe (PEERTUBE_LIVE_TESTS=1).
- evals/evals.json: six schema-v1 cases incl. SepiaSearch-scope and
masked-secret cases plus a should-not-trigger YouTube negative probe.
- README refreshed for humans; root README blurb and skill-triggers row
synced; marketplace.json/llms.txt regenerated (codex artifacts
unchanged); test-results/ gitignored (pytest runner artifact).
Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
2026-08-29 18:43:00 -04:00
Magnus Hedemarkandfactory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
- Root README blurb and references/skill-triggers.md trigger row now
match the thickened jellyfin description (manual-sync requirement).
- Regenerate .claude-plugin/marketplace.json and llms.txt via --write:
both embed skill descriptions, so the rewrite staled them; check
modes exit 0 again. Codex artifact unaffected (no descriptions).
Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
Merging with required validation green. Droid Auto Review was retried twice and failed before producing a review because DeepSeek V4 Flash rejected the action's ApplyPatch tool; the check is non-required per branch protection. The diff was independently inspected and local/repository validation passed.
2026-08-26 19:42:25 -04:00
Magnus Hedemarkandfactory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
Add researched TMDb references, external-ID and detail commands, offline tests, and eval coverage. Refresh the human README and generated catalogs.
Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
2026-08-26 09:52:28 -04:00
Magnus Hedemarkandfactory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
Root README blurb and skill-triggers row updated to match the new frontmatter description; marketplace.json and llms.txt regenerated via gen-*.rb --write (codex/agents outputs unchanged). Check modes all green.
Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
2026-08-26 08:44:48 -04:00
Magnus Hedemarkandfactory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
Refresh all three generated artifacts so they reflect the jira-jql
removal and the renamed skill set:
- .claude-plugin/marketplace.json (154 plugins)
- .codex-plugin/plugin.json (154 skills)
- llms.txt (154 skills)
The codex generator also rewrites .agents/plugins/marketplace.json;
it remains byte-identical to origin/main (single-entry pointer
artifact carrying no skill names).
All three check modes exit 0 against the current tree.
Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
* feat(bmad): add BMad control-plane protocol skill
New standalone methodology skill that lets any agent run the BMad method
(Breakthrough Method of Agile AI-Driven Development) as a harness-agnostic
control-plane protocol: five-field intent contracts, direct/bounded/initiative
classification, review-as-triage, failure routing by layer, and autonomy gating
with machine-readable spec status.
- SKILL.md protocol core with progressive disclosure + When not to use
- README.md human-facing install guide
- 9 references: protocol, classification, spec, lifecycle, project-context,
review-and-failure-routing, autonomy, party-mode, adoption
- 4 templates: SPEC, INTENT, STORY, REVIEW
- scripts/check-spec.py + 16 tests (stdlib, deterministic spec validation)
- evals/evals.json: 9 output-quality cases
- Routing seams from bmad to adjacent skills and back from
spec-driven-development, product-shaping, implementation-planning, neckbeard
- Catalog updates: root README, skill-triggers, marketplace/plugin/llms.txt
Closes#399
* fix(bmad): address droid-review findings
- check-spec.py: skip headings inside fenced/indented code blocks so a spec
cannot PASS on section text that only appears in a code sample
- check-spec.py: catch UnicodeDecodeError on non-UTF-8 files and report FAIL
instead of crashing
- STORY.md template: add created key for resumability/traceability parity
- SPEC.md template: split in-progress and in-review status bullets
- add 2 regression tests (heading-in-fence, non-UTF-8)
* fix(bmad): address droid-review round 2
- check-spec.py: read specs with utf-8-sig so a UTF-8 BOM cannot silently
disable the frontmatter status check
- check-spec.py: handle standard YAML inline comments after status values
(status: draft # pending review) without a false FAIL
- references/protocol.md: make lifecycle phrasing consistent with
lifecycle.md — four phases plus a learning closeout
- add 2 regression tests (BOM, inline comment)
* fix(bmad): tolerate trailing whitespace on frontmatter delimiters
A spec whose --- delimiter lines carry trailing spaces or tabs would silently
disable the status check and let an invalid status PASS. Relax the delimiter
pattern and add a regression test.
* fix(bmad): ignore inline comments in quoted status values
* fix(bmad): tolerate leading blank lines before frontmatter
* fix(bmad): fail closed on unparseable frontmatter, matching fence markers
Address droid-review round 5 and 6 findings as a single closed class:
- Fail closed when a file opens with a --- delimiter that cannot be parsed,
so no whitespace/frontmatter permutation can silently disable the status
check (previously: unparseable frontmatter was treated as 'no status'
warning, letting an invalid status PASS).
- Track fence opener markers in collect_headings so a mismatched fence no
longer closes a code block early (false-PASS on missing sections) and an
unclosed fence no longer swallows real headings.
- Accept empty well-formed frontmatter (---\n---) and closing delimiters
without a trailing newline.
- STORY.md template: parent-spec points at the sibling SPEC.md.
- README: status vocabulary is not a strict linear chain; blocked is a
resumable routing signal.
Whitespace/frontmatter mutation sweep: 9 formatting variants x valid/invalid
status all verdict correctly; malformed delimiters fail closed. 29 tests.
Add litellm/, an operational tool skill for the LiteLLM AI gateway (proxy)
and Python SDK, in the same vein as the vllm and llama-cpp engine skills.
Contents:
- SKILL.md: operating contract, operating loop, verification boundaries,
and hard boundaries; concise core sections routing depth to references
- README.md: human-facing install/use guide with required sections
- references/: nine dated, source-indexed references (source index,
quickstart + SDK, config & routing, keys/teams/budgets/spend, caching &
guardrails, observability & logging, deployment, security & public
hosting, troubleshooting), researched against litellm 1.97.0
(2026-08-22) including a live proxy probe of the health endpoints
- scripts/litellm-health: read-only GET-only probe (liveliness, readiness,
/v1/models, /model/info); stdlib-only Python 3.9+, --json, --help
without a server
- tests/test_litellm_health.py: 18 deterministic tests against a local
stub HTTP server, including the observed-traffic GET-only contract
- templates/proxy-config-record.md and proxy-deployment.md: fillable
records; the config record is the rollback unit
- evals/evals.json: schema_version 1, six output-quality cases
Also regenerates tracked catalog artifacts (.claude-plugin/marketplace.json,
.codex-plugin/plugin.json, llms.txt) and adds the root README catalog entry
plus the skill-triggers.md index row.
AI assistance: authored with AI assistance (Factory Droid) under human
direction; facts verified against litellm 1.97.0 and official docs dated
2026-08-22.
Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
All five findings from the droid-review run on 2db3bd0 resolved:
- [P1] Path re-selection moved before scoring: step 2 now re-runs the
SKILL.md path-selection rule against the inventoried surface, so step 3
scoring and the report's selected-path field no longer depend on a
value produced later in step 5.
- [P2] Tracking-system field added to delivery-packet.md group (a) and to
templates/delivery-packet.md, so the phase-1 intake gate has a defined
packet home for the field tracker-discovery.md requires.
- [P2] tracker-discovery eval aligned with the documented procedure: a
bare team-key identifier (ENG-482) is treated as ambiguous between
Jira and Linear; the requester's explicit confirmation is the
disambiguating evidence recorded in group (a).
- [P3/security] Detection signals weighted: request references are strong
evidence; repository content (CONTRIBUTING.md, config files) is a weak,
attacker-influenceable signal requiring corroboration before it alone
selects a system. Unrouted-system fallback constrained to the system's
verified official interface.
- [P3] Frontmatter description extended with the new trigger vocabulary
(mid-flight continuation, Linear/Jira/Notion routing), compressed to
stay within the 1024-char validator cap.
Generated catalog artifacts regenerated for the description change.
All validators re-run green locally; new head requires fresh CI.
Signed-off-by: Magnus Hedemark <magnus919@users.noreply.github.com>
* feat: add AI operating economics skill
Add an evidence-led methodology for evaluating AI workflow value, cost, worker effects, quality guardrails, and authority expansion. Includes research references, durable decision templates, and six eval cases. AI assistance: Jasper, on behalf of Magnus Hedemark.
Signed-off-by: Magnus Hedemark <magnus919@pm.me>
* fix: resolve AI economics review findings
Align section numbering, evidence-language examples, and intervention-mode terminology identified by the exact-head review.
Signed-off-by: Magnus Hedemark <magnus919@pm.me>
---------
Signed-off-by: Magnus Hedemark <magnus919@pm.me>
Add progressive DDIA handoff and focused replication, partitioning, fencing, and isolation eval coverage.\n\nAI-assisted: Jasper orchestrated implementation and verification with OpenCode.
Signed-off-by: Magnus Hedemark <magnus919@pm.me>
Add audience, narrative, hierarchy, representation, accessibility, uncertainty, review evidence, and eval coverage for C4 and Mermaid artifacts.\n\nAI-assisted: Jasper orchestrated implementation and verification with OpenCode.
Signed-off-by: Magnus Hedemark <magnus919@pm.me>
Add capability and portfolio mapping, state transitions, operating models, decision rights, stakeholder information, templates, evals, and neighboring-owner routing.\n\nAI-assisted: Jasper orchestrated implementation and verification with OpenCode.
Signed-off-by: Magnus Hedemark <magnus919@pm.me>
Replace board-centric defaults with consequence-driven governance modes, feedback loops, exceptions, and clear ownership boundaries.\n\nAI-assisted: Jasper orchestrated implementation and verification with OpenCode.
Signed-off-by: Magnus Hedemark <magnus919@pm.me>
Add a lifecycle method and reusable record for connecting architecture decisions to checks, evidence, review, exceptions, and retirement.\n\nAI-assisted: Jasper orchestrated implementation and verification with OpenCode.
Signed-off-by: Magnus Hedemark <magnus919@pm.me>
Add evidence lenses for characteristics, coupling, decomposition, data authority, workflows, health reporting, and eval coverage.\n\nAI-assisted: Jasper orchestrated implementation and verification with OpenCode.
Signed-off-by: Magnus Hedemark <magnus919@pm.me>