Skip to content

docs: Remove non-functional Claude Marketplace installation documentation#3

Merged
azalio merged 1 commit into
mainfrom
docs/remove-marketplace-installation
Oct 23, 2025
Merged

docs: Remove non-functional Claude Marketplace installation documentation#3
azalio merged 1 commit into
mainfrom
docs/remove-marketplace-installation

Conversation

@azalio
Copy link
Copy Markdown
Owner

@azalio azalio commented Oct 23, 2025

Summary

Удалена документация по установке MAP Framework через Claude Code Plugin Marketplace, так как этот метод установки в настоящее время не работает.

Changes

Documentation Updates

  • README.md: Удален Option 1 (Plugin Marketplace) из раздела Installation и отдельная секция 🔌 Plugin Marketplace
  • presentation/04-начало-работы.md: Обновлено с 4 до 3 способов установки (удален Plugin Marketplace)
  • presentation/01-введение.md: Обновлен список установки с 4 до 3 методов
  • docs/knowledge_base/verified_facts_core.txt: Обновлено количество методов установки, отмечен PLUGIN MARKETPLACE как [✗ DEPRECATED]

Plugin Files

  • .claude-plugin/PLUGIN.md: Удален Option 1 (Plugin Marketplace), перенумерованы оставшиеся опции
  • .claude-plugin/plugin.json: Обновлены инструкции по установке
  • .claude-plugin/marketplace.json: Добавлено предупреждение о deprecation

Playbook Updates

  • .claude/playbook.json: Добавлены новые паттерны (impl-0017, impl-0018, doc-0001)

Metrics

  • Subtasks completed: 8/8 (100% success rate)
  • Total iterations: 7 (avg 0.875 per subtask)
  • Pattern learning effect: 50% iteration reduction after subtask 2
  • Files changed: 8 files, 171 insertions(+), 150 deletions(-)

New Playbook Patterns

  1. impl-0017: Phased Migration Temporary State Documentation
  2. impl-0018: Actor Tool Invocation Verification
  3. doc-0001: Documentation Structure Preservation During Updates

Test Plan

  • Verify no "Plugin Marketplace" references in README.md
  • Verify presentation files updated consistently (3 installation methods)
  • Verify verified_facts_core.txt accurately reflects current state
  • Verify marketplace.json contains deprecation warning
  • Verify all documentation cross-references are valid
  • Playbook updated with new learning patterns

Validation

All changes validated through MAP Framework workflow:

  • ✅ Actor implementations executed correctly
  • ✅ Monitor validations passed
  • ✅ Predictor identified no high-risk impacts
  • ✅ Evaluator scores: avg 8.5/10
  • ✅ Reflector extracted reusable patterns
  • ✅ Curator updated playbook with learnings

Breaking Changes

None - documentation-only changes. Users who already installed via other methods are unaffected.

…tion

Remove Claude Code Plugin Marketplace installation instructions across all
documentation as the marketplace installation method is not currently working.

Changes:
- README.md: Removed marketplace installation option and dedicated section
- presentation/*.md: Updated Russian presentation files (3→3 methods)
- docs/knowledge_base/verified_facts_core.txt: Updated to 3 installation options
- .claude-plugin/PLUGIN.md: Removed marketplace installation option
- .claude-plugin/plugin.json: Updated installation instructions
- .claude-plugin/marketplace.json: Added deprecation notice
- .claude/playbook.json: Added new patterns (impl-0017, impl-0018, doc-0001)

Subtasks completed: 8/8
Total iterations: 9 (avg 1.125 per subtask)
Pattern learning: 50% iteration reduction after subtask 2

Related patterns:
- impl-0017: Phased Migration Temporary State Documentation
- impl-0018: Actor Tool Invocation Verification
- doc-0001: Documentation Structure Preservation
Copilot AI review requested due to automatic review settings October 23, 2025 10:02
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR removes documentation for the non-functional Claude Code Plugin Marketplace installation method, reducing the documented installation options from 4 to 3. The Plugin Marketplace installation path has been deprecated and is no longer supported.

Key Changes:

  • Removed all references to Plugin Marketplace installation across documentation files
  • Updated installation method counts from 4 to 3 throughout the codebase
  • Added deprecation warning to marketplace.json
  • Renumbered remaining installation options for consistency

Reviewed Changes

Copilot reviewed 7 out of 8 changed files in this pull request and generated no comments.

Show a summary per file
File Description
presentation/04-начало-работы.md Removed Plugin Marketplace section and renumbered remaining 3 installation methods
presentation/01-введение.md Updated installation method count from 4 to 3 and removed Plugin Marketplace reference
docs/knowledge_base/verified_facts_core.txt Marked Plugin Marketplace as DEPRECATED and updated installation facts
README.md Removed Plugin Marketplace installation section and plugin features documentation
.claude-plugin/plugin.json Updated installation steps to remove marketplace reference
.claude-plugin/marketplace.json Added deprecation warning in description field
.claude-plugin/PLUGIN.md Removed Plugin Marketplace option and renumbered remaining methods

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

@azalio azalio merged commit c1f6f85 into main Oct 23, 2025
5 checks passed
azalio added a commit that referenced this pull request May 4, 2026
…nitize, tighten Actor/Monitor (#105)

* refactor: rename map-planning skill to map-state and tighten MAP coordination

Five related fixes that all surfaced from one symptom: typing /map-plan in
a project shipped with the previous skill bundle resolved to map-planning
(branch-scoped state infra) instead of map-plan (ARCHITECT decomposition).

1. Skill collision: rename .claude/skills/map-planning -> .claude/skills/map-state
   and remove disable-model-invocation: true from map-plan/SKILL.md so the
   model sees both skills as distinct surfaces. Update skill-rules.json,
   monitor agents, docs (USAGE, INSTALL, roadmap, improvement-plan), and
   in-tree script comments.

2. map_orchestrator.py is now cwd-independent: anchors itself to the
   project root via Path(__file__).resolve().parents[2] before any state
   lookup. Previously, invoking the orchestrator via an absolute path from
   a different cwd silently read .map/<branch>/ from the caller's
   directory and returned misleading "step mismatch" errors.

3. Hardened map_step_runner._sanitize_for_json: previous regex preserved
   \t \n \r and relied on json.dumps to escape them, but bash command
   substitution does not preserve byte-perfect roundtrip in all locales —
   jq aborted with "Invalid string: control characters from U+0000 through
   U+001F must be escaped". The function now flattens newline variants to
   spaces and strips the entire \x00-\x1f\x7f range, so build_handoff_bundle
   output is robust through bash pipelines.

4. Block "pre-existing, unrelated" excuse for surfaced quality-gate
   failures: Monitor scope distinguishes pre-existing DORMANT tech debt
   (still OUT OF SCOPE) from pre-existing SURFACED failures (lint/type/test
   failing in the current run, regardless of whether the failing code
   predates the diff — must fix). Actor's QUICK REFERENCE and Subtask
   Intent now ban one-line "pre-existing, unrelated" dismissals; deferral
   requires explicit user approval.

5. Captured #3 and #4 as learned rules in
   .claude/rules/learned/error-patterns.md with WRONG/CORRECT examples so
   future agents do not reintroduce either regression.

Templates synced via make sync-templates. CHANGELOG updated.

* test: regression coverage for sanitize hardening and orchestrator cwd-anchor

Addresses Copilot review feedback on PR #105: the two runtime fixes were
landed without automated tests, so a regression could return without any
CI failure.

- TestSanitizeForJson (tests/test_map_step_runner.py): parametrised over
  the C0 control range and DEL, asserts whitespace flattening to spaces,
  preserves printable ASCII + Unicode, and verifies a full round-trip
  through json.dumps + json.loads with no raw control bytes leaking
  back. Closes the original "Sanitize Control Characters" rule's gap.

- TestCwdIndependence (tests/test_map_orchestrator.py): subprocess-based
  test that copies the orchestrator + sibling .py modules into a tmp
  project_a, runs the script via absolute path from a foreign cwd
  project_b, and asserts state is read from project_a (not project_b).
  Covers both get_next_step and validate_step. The fix's reliance on
  Path(__file__).resolve().parents[2] is now guaranteed by an automated
  case — in-process tests cannot exercise it because they bypass main().

* fix: address Copilot follow-up review on PR #105

Two more findings from the second Copilot pass:

1. docs/INSTALL.md: the install-tree diagram still claimed a
   `.claude/commands/` directory with ten `map-*.md` files. That layout
   was removed long ago — every MAP slash surface now lives under
   `.claude/skills/<name>/SKILL.md`, and
   `tests/test_template_sync.py::test_no_map_command_files_remain`
   enforces the absence of `commands/map-*.md`. Replaced the stale tree
   with the actual shipped skill list (12 entries) and added a note
   pointing at the enforcing test.

2. tests/test_map_orchestrator.py::TestCwdIndependence: previous
   coverage exercised only `get_next_step` and `validate_step`. Added
   `test_set_waves_resolves_relative_blueprint_in_script_project` —
   subprocess test that seeds two competing blueprints (3-subtask vs
   1-subtask), invokes `set_waves --blueprint .map/<branch>/blueprint.json`
   from a foreign cwd, and asserts the relative argument is rebased
   against the script's project. Confirms the cwd anchor protects every
   path-bearing CLI subcommand, not just the two we originally tested.
azalio added a commit that referenced this pull request May 22, 2026
Same PR as the original eight fixes. These came from a second downstream
review of issues #1-#12 that had not landed in the first batch.

#4 (real bug, found via code read at lines 736-742):
  validate_step at the inter-subtask boundary (pending_steps emptied but
  more subtasks remain) was setting current_step_id="COMPLETE" and
  returning next_step="COMPLETE". get_next_step then re-advanced and
  handed back RESEARCH for the next subtask, so the workflow recovered
  — but the validate_step response had already lied, making COMPLETE
  indistinguishable from a true terminal state. Now emits the explicit
  "ADVANCE_SUBTASK" sentinel (with matching current_step_id/phase) and
  reserves COMPLETE for the actual terminal case.

#11 validate_step idempotency:
  Re-running validate_step X when X is already in completed_steps is now
  a no-op success ({valid: True, idempotent: True}) instead of "Step
  mismatch: expected Y, got X". Combined with the new peek_current_step,
  callers can safely retry without recovery dances.

#5 RESEARCH enforced (not prompt-text):
  validate_step("2.2") now verifies that .map/<branch>/research/
  <current_subtask>__*.md exists. If not, rejects with valid=false and
  the exact save_research command to run. "MANDATORY RESEARCH" is now
  actual behaviour, not just docs.

#3 resume_from_plan auto-set_waves:
  When blueprint.json is present, resume_from_plan now invokes set_waves
  itself and reports the outcome in waves_computed: "success" / "error"
  / "skipped". /map-efficient skill no longer needs to dispatch
  set_waves manually after every resume.

#7 get_subtask CLI:
  python3 .map/scripts/map_step_runner.py get_subtask <ID> [--branch X]
  Hides the {flat, blueprint-wrapped} schema dichotomy so callers stop
  needing ad-hoc jq with two fallbacks.

#10 pytest-timeout in test deps:
  CLAUDE.md examples reference `pytest --timeout=60` but the package was
  missing; added to requirements-test.txt and pyproject.toml test/dev
  extras.

#2 wave-API integration (partial — full pivot deferred):
  Added documentation guidance in map-efficient/SKILL.md explaining when
  the sequential walker (get_next_step) vs the wave loop
  (get_wave_step / validate_wave_step / advance_wave) applies, and
  noted that resume_from_plan now auto-populates execution_waves. The
  deeper unification — making get_next_step itself walk by
  execution_waves rather than subtask_sequence — touches multiple
  invariant tests and is tracked as a separate follow-up plan.

Test integration fix:
  tests/integration/test_e2e_artifact_contracts.py walked subtask
  phases without writing research artifacts; updated to plant
  .map/<branch>/research/ST-NNN__actor.md per subtask now that RESEARCH
  enforcement is real.

+11 new test cases: TestValidateStepIdempotency,
TestValidateStepInterSubtaskBoundary, TestValidateStepResearchEnforcement,
TestResumeFromPlanAutoSetWaves, TestGetSubtaskCli. Suite: 1456 passed.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
azalio added a commit that referenced this pull request May 23, 2026
Eight more fixes surfaced in a fresh /map-efficient run on neuro-vlad
new-road after the earlier batches landed.

#1 record_subtask_result CLI:
  Skill text already said "record files changed in step_state.json" but
  no public command existed; callers reached into Python or hoped
  validate_step did it implicitly. Added
  `python3 .map/scripts/map_orchestrator.py record_subtask_result <ID>
  <status> --files a.py,b.py --summary "..." --commit-sha SHA`.

#2 ADVANCE_SUBTASK documented:
  The "ADVANCE_SUBTASK" sentinel introduced in the previous batch (#4)
  had no description in map-efficient/SKILL.md. Added an explicit
  "Phase: ADVANCE_SUBTASK (synthetic boundary)" section so callers
  know it's a free transition (call get_next_step again) and not a
  phase to execute.

#3 Wave banner truthfulness:
  workflow-context-injector now reports "[waves computed, sequential
  walker active]" when execution_waves is populated but
  current_wave_index is still 0 (sequential walker has not been
  swapped for the wave loop). Previously the banner claimed
  "mode batch:parallel" even when nothing parallel was happening.

#5 Monitor verdict contract:
  Added a "Verdict consistency contract (MANDATORY)" block to
  monitor.md: MEDIUM+ severity issues force valid:false, and any
  `recommendation in {"revise","block","needs_investigation"}` forbids
  `valid:true`. Closes the loophole where Monitor returned
  valid:true with recommendation:revise and the skill silently advanced.

#6 build_context_block truncation marker:
  Added a compact "# [TRUNCATED] see .map/<branch>/token_budget.json"
  marker inside the budgeted text when clipping happened, replacing
  the prior silent loss. Token-budget aware: the marker REPLACES the
  existing "# Context Budget:..." footer so net token cost is zero
  (the contract assertion stays <= configured budget).

#7 save_research attempt versioning:
  `save_research(..., attempt=N)` (and CLI flag `--attempt N`) now
  preserves a numbered snapshot at `<id>__<kind>.attempt-<N>.md`
  BEFORE overwriting the canonical file. Useful for clean-retry
  diffing after Monitor rejection.

#9 mark_subtask_complete hint:
  get_next_step's RESEARCH (2.2) instruction now mentions both the
  save_research command (positive path) AND the mark_subtask_complete
  no-op short-circuit (escape hatch). Previously the operator had to
  recall the latter from efficient-reference.md.

#11 finalize_plan CLI:
  `python3 .map/scripts/map_orchestrator.py finalize_plan` bumps
  artifact_manifest.stages.plan to "complete" when blueprint +
  task_plan are present. Closes the stage-stuck-partial trap reported
  on neuro-vlad new-road's manifest.

#12 validate_step("2.4") auto mutation-boundary:
  MONITOR gate now runs validate_mutation_boundary internally for the
  current subtask. Warn-only by default; MAP_STRICT_SCOPE=1 escalates
  to a hard reject. Best-effort: missing blueprint or git failure is
  silently skipped so the gate stays usable in unit-test contexts.

Skipped from the 12-issue list:
  #4 hook lag — repro now possible with timestamps from previous PR
    commit; awaiting fresh logs to diagnose root cause.
  #8 type-ignore misapplication — agent-quality, not framework.
  #10 per-subtask token accounting — needs new transcript-parsing
    infrastructure; tracked for separate plan.

+7 test classes added. Suite: 1462 passed.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
azalio added a commit that referenced this pull request May 23, 2026
Sixth round of fixes from a downstream /map-efficient run on neuro-vlad
new-road. Six framework gaps, one commit, regression-tested.

#7 transactional MONITOR pass:
  validate_step("2.4") now implicitly closes pending 2.3 (ACTOR) when
  the cursor is mid-flight. Caller convenience — Monitor approval
  logically means Actor work was accepted, so requiring a separate
  validate_step("2.3") before validate_step("2.4") was just ceremony
  that produced "Step mismatch: expected 2.3, got 2.4" errors. Skill
  can now go straight Monitor-pass → record_subtask_result →
  validate_step("2.4").

#10 build_context_block auto-loads research:
  Inlines the latest research artifact (actor → monitor → decomposer
  kinds, first hit wins, cap 1500 chars) into the context block under
  "# Research Findings (ST-NNN, kind=actor):". Stops the manual
  "load_research → glue into Actor prompt" two-step.

#6 detect_already_done CLI:
  python3 .map/scripts/map_step_runner.py detect_already_done <branch>
    <subtask_id> [--since-ref REF]
  Heuristic check: every affected_file exists AND has commits in the
  window? Returns "likely_done" / "partial" / "unclear". Falls back
  to all-history when --since-ref doesn't resolve (fresh repos).
  Pragmatic, not authoritative — operators still review evidence
  before mark_subtask_complete.

#3 scope baseline:
  validate_mutation_boundary now subtracts a per-branch baseline
  (.map/<branch>/scope-baseline.json) from `actual`. Capture it with
  the new record_scope_baseline CLI when the branch carries
  pre-existing untracked / unstaged work from prior waves; subsequent
  mutation-boundary checks then only flag files the current subtask
  actually changed. Closes the "every ST shows warning because the
  branch is dirty" friction.

#4 verification-command REQUIRED suppression:
  workflow-context-injector now recognizes verification invocations
  (pytest, ruff check, ruff format --check, mypy, pyright, go vet/
  build, cargo check, tsc --noEmit) and emits the base reminder
  WITHOUT the trailing " | REQUIRED: Run Actor" pressure tag. Actor
  running pytest on their own work shouldn't be nagged to re-enter
  the phase they're already in.

#9 WAVE banner only when wave loop is active:
  workflow-context-injector no longer surfaces "WAVE 1/N" while the
  sequential walker (get_next_step) drives — only when
  current_wave_index > 0 (wave loop actually advanced). Removes the
  "[waves computed, sequential walker active]" cognitive-noise tail
  the operator just called out.

+9 new test cases across orchestrator and step_runner suites.
Suite: 1476 passed.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
azalio added a commit that referenced this pull request May 23, 2026
Nine fixes from the /map-plan downstream session triage.

validate_blueprint_contract relaxations
  #1 hard_constraints / soft_constraints now accept either `description` or
     `text` as the body field. Decomposer agents organically generate
     either; rejecting on naming alone is needless friction.
  #2 `cross-repo` is now a valid concern_type (the /map-plan skill already
     advertises cross-repo scenarios).
  #3 oversized_subtasks / mixed_concern_subtasks no longer flag subtasks
     that carry an explicit `split_rationale` / `concern_justification`.
     Acknowledged design choices are NOT warnings.
  #4 "consider splitting" warning on validation_criteria > 6 is suppressed
     when `split_rationale` is present; same for affected_files > 8.
     Authors who justified size shouldn't get repeat-nagged.

#5 /map-plan Step 7 now names `record_plan_artifacts` directly and lists
   the common runner functions (record_workflow_fit, validate_blueprint_-
   contract, list_plans, save_research) so operators stop having to
   introspect map_step_runner.py to find them.

#6 record_workflow_fit CLI gained keyword-flag form:
     record_workflow_fit <workflow> [--diff-size SIZE]
       [--has-new-invariants 0|1] [--needs-independent-review 0|1]
       [--has-clear-acceptance-criteria 0|1]
       [--test-first-required 0|1] [--summary "..."]
   The legacy positional form still works for back-compat. Closes the
   "easy to mix up 4 raw bools in fixed order" hazard.

#7 /map-plan reconciles "Skip interview only when well-defined" with
   auto-mode's "minimize interruptions": roadmap-class input still
   requires interview (use a single batched AskUserQuestion, 3-5
   questions). Narrow tasks skip. When in doubt, batched interview
   wins — a wrong skip cascades into 12 misaligned subtasks.

#8 list_plans CLI enumerates per-branch artifacts under .map/<branch>/
   so operators can pick scope from a multi-roadmap workspace without
   grepping. Returns: branch, has_blueprint/task_plan/step_state,
   workflow_status, completed_at, plan_mtime, subtask_count.

#10 plan_status: "partial" → "ready" predicate no longer requires
    step_state.json. /map-plan deliberately stops BEFORE INIT_STATE,
    so the post-/map-plan canonical state is task_plan + blueprint
    (no step_state). Documented in the skill too.

+8 new test cases across blueprint contract, list_plans, plan-ready
predicate. Suite: 1482 passed.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
azalio added a commit that referenced this pull request May 23, 2026
Eight-issue triage from a long-running downstream session; ship six.

#1 MONITOR hot-fix Edit allowance (opt-in):
  workflow-gate.py now respects MAP_MONITOR_HOTFIX=1 env — when set,
  Edits are allowed during MONITOR phase so the operator can land a
  2-line nit without spinning a full monitor_failed → ACTOR retry
  cycle. Opt-in (not default) because unconditional widening of the
  gate would silently let MONITOR write to source. Operator must
  acknowledge by setting the env var per-session AND re-running
  validate_step("2.4") themselves after the hot-fix.

#2 Per-subtask mutation-boundary baseline:
  - New record_subtask_baseline(branch, subtask_id) snapshots
    `git status --porcelain` into
    .map/<branch>/subtask-baselines/<ST-ID>.json.
  - validate_step("2.2") auto-fires the snapshot at RESEARCH-complete
    so each subtask's MONITOR-side validate_mutation_boundary check
    only flags files CHANGED during THIS subtask. The branch-wide
    scope-baseline.json still applies on top as a coarse filter.
  - Closes the "every ST showed warning because the branch carries 14
    subtasks of uncommitted prior work" friction.

#3 Phantom-Pyright filter rule in monitor.md:
  Build-gate now explicitly tells Monitor: when IDE language server
  reports reportMissingImports on a module Actor JUST created in the
  same session, treat it as stale-cache noise. Confirm with native
  `python -B -c "import <module>"` / `pyright src/<file>`. CLI is
  authoritative.

#5 Cycle-import check in task-decomposer.md checklist:
  New checklist item flags circular imports between subtask modules.
  If A's affected_files includes mod_x.py importing from B's mod_y.py
  AND B's affected_files imports from mod_x.py → cycle. Lift shared
  symbol to a foundation subtask OR document lazy-import in
  split_rationale so Actor doesn't discover it mid-implementation.

#6 Suppress REQUIRED on Edit during ACTOR / TEST_WRITER:
  workflow-context-injector no longer trails "REQUIRED: Run Actor" on
  Edit/Write/MultiEdit when current_step_phase is ACTOR or TEST_WRITER.
  Consecutive atomic Edits in the same ACTOR turn shouldn't be lectured
  to "Run Actor" — the operator is doing exactly that.

#8 status_update field clarified as informational:
  Added a note in monitor.md verdict schema that
  status_update.next_subtask_id is INFORMATIONAL only — the orchestrator
  does NOT auto-advance from it. Skill caller is still responsible for
  record_subtask_result → validate_step("2.4") → get_next_step.

Skipped (out of scope):
  #4 blueprint↔reality drift on finalize_pr_publish_decisions — too
    project-specific.
  #7 context-meter post-compact lag — monitoring loop frequency, not
    a framework bug.

+1 new test case (TestRecordSubtaskBaseline). Suite: 1483 passed.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants