Not in the top 1,000 by GitHub stars
ilyautov/consilium-principis
AI advisory board as a Claude Code skill + MCP server: verifies every quote word-for-word against public-domain sources, or abstains. Fail-closed fidelity. | Совет советников как скилл для Claude Code и MCP-сервер: каждая цитата сверяется дословно с источником в общественном достоянии, иначе отказ.
History
Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.
View weekly changes
SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 984dc031a493
No earlier version was observed for comparison.
skills/consilium-connect/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 984dc031a493
No earlier version was observed for comparison.
skills/consilium-principis/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 984dc031a493
No earlier version was observed for comparison.
Verified commit 984dc031a4932097d23aa34b6891da3adc58f6c5
git clone --filter=blob:none --no-checkout https://github.com/ilyautov/consilium-principis.git .hotskills/ilyautov-consilium-principis && git -C .hotskills/ilyautov-consilium-principis checkout --detach 984dc031a4932097d23aa34b6891da3adc58f6c5
# Copy each selected skill directory from .hotskills/ilyautov-consilium-principis into .claude/skills/<skill-name>/git clone --filter=blob:none --no-checkout https://github.com/ilyautov/consilium-principis.git .hotskills/ilyautov-consilium-principis && git -C .hotskills/ilyautov-consilium-principis checkout --detach 984dc031a4932097d23aa34b6891da3adc58f6c5
# Copy each selected skill directory from .hotskills/ilyautov-consilium-principis into .gemini/skills/<skill-name>/Heat
Insufficient historyNot enough history yet to measure heat. It appears after a few days of data.
Heat never changes the order by stars, and sponsorship never touches it. How heat works
Stars over time
30-day change not yet available: not enough history.
Individual skills in this repository
- consilium-principis
/ - consilium-connect
skills/consilium-connect - consilium-principis
skills/consilium-principis
How it works
consilium-principis
When your agent uses it
Личный совет директоров из AI-персонажей реальных мыслителей. Пользователь выбирает фигуры (public-domain из коробки: Сунь-цзы, Марк Аврелий, Эпиктет, Макиавелли; современных из своих легальных материалов), скилл строит профили и проводит заседание по его вопросу: советники спорят между собой и с пользователем, дальше синтез и шаг к действию. На считаемом решении добавляется карта решения и Монте-Карло. Защитный контур: цитаты только из верифицированного корпуса через судью-гейт, маркеры «цитата или экстраполяция», diversity-check против эхо-камеры. Триггеры: «созови совет», «спроси Аврелия», «собери совет директоров», «что выгоднее X или Y», «добавь советника», board, council. In English: a personal board of AI personas grounded in public-domain thinkers, fail-closed fidelity, every quote verified word for word or the board abstains. Answers follow the language of the question. Triggers: "convene the board", "ask Aurelius", "council of advisors", "premortem", "advise me like [figure]".
What it loads into context
Frontmatter
312 tokensAlways available to the agent
SKILL.md
14,212 tokensWhen the skill is activated
Reference documents
132,740 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Что это и чем отличается
- Инициализация при старте (авто-tier) — ОБЯЗАТЕЛЬНО первым
- Команды
- «Что умеет совет?» — discoverable для нетехнического юзера
- Онбординг — собери доску, НАХОДЯСЬ в Claude (шасси)
- Защитный контур — ОБЯЗАТЕЛЬНЫЕ правила (не опциональны)
- Подача ответа — ЯЗЫК и ГЛУБИНА (дефолт рассчитан на нетехнического юзера)
- Отпечаток советника = grounded persona-agent (НЕ просто RAG, НЕ свободный агент)
- Память: union-mount, 3 слоя
- Сборка советника (`/board add`)
- Созыв совета (`/board council`) — формат заседания
- Режимы
- Совет на подписках (Claude Code / Codex / Kimi Code)
- Аватары
- Границы (что уже есть / что отложено)
- Скрипты
Scripts executed separately
Makefileinstall.batinstall.commandinstall.pyinstall.shpackage.jsonscripts/abstention_curve.pyscripts/adversarial_loop.pyscripts/advisor_calibration.pyscripts/atomic.pyscripts/board.pyscripts/board_init.pyscripts/bootstrap_eval.pyscripts/build_advisor.pyscripts/build_manual.pyscripts/build_orchestrator.pyscripts/calc_render.pyscripts/calibrate_advisor.pyscripts/calibrated_consult.pyscripts/calibration.pyscripts/catalog.pyscripts/catalog_verify.pyscripts/ci_bundle_guard.pyscripts/cli_backends.pyscripts/collect_common.pyscripts/collect_pd.pyscripts/collect_transcript.pyscripts/collect_web.pyscripts/corpusbuild/__init__.pyscripts/corpusbuild/apparatus.pyscripts/corpusbuild/buildlock.pyscripts/corpusbuild/chunk.pyscripts/corpusbuild/clean.pyscripts/corpusbuild/doctor.pyscripts/corpusbuild/embed.pyscripts/corpusbuild/enrich.pyscripts/corpusbuild/graph.pyscripts/corpusbuild/ids.pyscripts/corpusbuild/ingest.pyscripts/corpusbuild/kernel_extract.pyscripts/corpusbuild/kernels.pyscripts/corpusbuild/link.pyscripts/corpusbuild/paths.pyscripts/corpusbuild/pipeline.pyscripts/council_verdict.pyscripts/decision_card.pyscripts/decision_map.pyscripts/decision_record.pyscripts/demo/_harness.pyscripts/demo/clash_demo.pyscripts/demo/crosslingual_demo.pyscripts/demo/misattribution_demo.pyscripts/demo/montecarlo_demo.pyscripts/demo/refusal_demo.pyscripts/diversity_check.pyscripts/doctor.pyscripts/engine/__init__.pyscripts/engine/fidelity.pyscripts/engine/hybrid.pyscripts/engine/lexical.pyscripts/engine/multi_query.pyscripts/engine/provenance.pyscripts/engine/remote.pyscripts/engine/retrieval.pyscripts/engine/rrf.pyscripts/engine/semantic.pyscripts/eval.pyscripts/experiments/antisycophancy_probe.pyscripts/experiments/citation_rate_eval.pyscripts/experiments/cross_model_probe.pyscripts/experiments/devils_advocate_probe.pyscripts/experiments/diagnose_multiquery.pyscripts/experiments/diagnose_retrieval.pyscripts/experiments/exp_bridge.pyscripts/experiments/exp_graph.pyscripts/experiments/exp_kernels.pyscripts/experiments/exp_kernels_finer.pyscripts/experiments/instructions_language_probe.pyscripts/experiments/instructions_language_variants_probe.pyscripts/experiments/lever_adoption_probe.pyscripts/experiments/tier_pool_probe.pyscripts/extractor.pyscripts/federation/__init__.pyscripts/federation/coordinator.pyscripts/federation/demo.pyscripts/federation/dogfood_byok.pyscripts/federation/executor.pyscripts/federation/judge.pyscripts/federation/notify.pyscripts/federation/queue.pyscripts/federation/spawn.pyscripts/federation/sub_worker.pyscripts/federation/worker_common.pyscripts/file_atomic.pyscripts/firewall_check.shscripts/gen_golden.pyscripts/gen_selfdoc.pyscripts/golden_meta.pyscripts/governance.pyscripts/host_install.pyscripts/ingest_telegram.pyscripts/judge_backend.pyscripts/lang_check.pyscripts/lens_builder.pyscripts/lenses.pyscripts/lifecycle.pyscripts/llm_local.pyscripts/manifest_builder.pyscripts/mc_run.pyscripts/mcp_decisions.pyscripts/mcp_install.pyscripts/mcp_server.pyscripts/mdmeta.pyscripts/mirror.pyscripts/moat_check.pyscripts/outcome_loop.pyscripts/perturbation.pyscripts/poison_eval.pyscripts/prediction_calibration.pyscripts/preflight.pyscripts/premortem.pyscripts/principis.pyscripts/recipes.pyscripts/release_validate.pyscripts/relevance_gate.pyscripts/relevance_judge.pyscripts/retrieval_regression.pyscripts/safe_expr.pyscripts/scaffold.pyscripts/seed.pyscripts/selfdoc_query.pyscripts/serving_gate_eval.pyscripts/session_render.pyscripts/setup_full.pyscripts/situation.pyscripts/stability.pyscripts/synth_eval.pyscripts/tier_full.pytests/conftest.pytests/test_abstention_curve.pytests/test_adversarial_loop.pytests/test_advisor_calibration.pytests/test_antisycophancy_probe.pytests/test_apparatus.pytests/test_apparatus_inline_in_regions.pytests/test_atomic.pytests/test_attribution.pytests/test_board_render.pytests/test_bootstrap_eval.pytests/test_build_manual.pytests/test_build_orchestrator.pytests/test_buildlock.pytests/test_bundle_guard.pytests/test_calc_render.pytests/test_calibrate_advisor.pytests/test_calibrated_consult.pytests/test_calibration.pytests/test_card_stays_local.pytests/test_catalog.pytests/test_catalog_rights.pytests/test_catalog_tools.pytests/test_catalog_verify.pytests/test_citation_rate_eval.pytests/test_cite_early_exit.pytests/test_cli_backends.pytests/test_collect_strip.pytests/test_config_set.pytests/test_corpus_chunk.pytests/test_corpus_clean.pytests/test_corpus_doctor.pytests/test_corpus_doctor_calib.pytests/test_corpus_embed.pytests/test_corpus_enrich.pytests/test_corpus_graph.pytests/test_corpus_ids.pytests/test_corpus_ingest.pytests/test_corpus_kernels.pytests/test_corpus_link.pytests/test_corpus_paths.pytests/test_corpus_pipeline.pytests/test_corpus_tiering_staleness.pytests/test_council_verdict.pytests/test_cross_model_probe.pytests/test_dark_tools_wired.pytests/test_decision_card.pytests/test_decision_map.pytests/test_decision_record.pytests/test_decision_tools.pytests/test_demo_scenarios.pytests/test_devils_advocate_probe.pytests/test_disclosure_plate.pytests/test_diversity_check_tool.pytests/test_doctor.pytests/test_engine_contract.pytests/test_engine_fidelity.pytests/test_engine_hybrid.pytests/test_engine_lexical.pytests/test_engine_remote.pytests/test_engine_resolve.pytests/test_engine_semantic.pytests/test_engine_threshold.pytests/test_eval.pytests/test_explain_self.pytests/test_export_session.pytests/test_extractor.pytests/test_federation_coordinator.pytests/test_federation_demo.pytests/test_federation_docs.pytests/test_federation_dogfood_doc.pytests/test_federation_executor.pytests/test_federation_judge.pytests/test_federation_mcp.pytests/test_federation_notify.pytests/test_federation_queue.pytests/test_fetch_hardening.pytests/test_fidelity_cache.pytests/test_fidelity_gate.pytests/test_fidelity_marker.pytests/test_fidelity_negation_crop.pytests/test_fidelity_threshold.pytests/test_fidelity_tiers.pytests/test_file_atomic.pytests/test_firewall_check.pytests/test_gate_simple_tier_inert.pytests/test_gen_golden.pytests/test_gen_selfdoc.pytests/test_generation_publication.pytests/test_golden_meta.pytests/test_governance.pytests/test_grounded_lens.pytests/test_host_install.pytests/test_host_judge_protocol.pytests/test_index_fingerprint.pytests/test_index_tier.pytests/test_ingest_telegram.pytests/test_install.pytests/test_install_runtime.pytests/test_instructions_language_probe.pytests/test_instructions_language_variants_probe.pytests/test_instructions_response_language.pytests/test_judge_backend.pytests/test_kernel_extract.pytests/test_lang_check.pytests/test_language_config.pytests/test_lens_builder.pytests/test_lenses.pytests/test_lever_adoption_probe.pytests/test_lifecycle_backcompat.pytests/test_lifecycle_tools.pytests/test_llm_local.pytests/test_manifest_builder.pytests/test_marker_status_single_source.pytests/test_mc_run.pytests/test_mcp_install.pytests/test_mcp_json_config.pytests/test_mcp_server.pytests/test_mcp_server_bounds.pytests/test_mcp_server_stdio.pytests/test_mirror.pytests/test_moat_check.pytests/test_montecarlo_demo.pytests/test_multi_query.pytests/test_network_sandbox.pytests/test_no_dark_tools.pytests/test_no_inducement_claims.pytests/test_outcome_loop.pytests/test_owner_gated_followups.pytests/test_path_idiom.pytests/test_perturbation.pytests/test_plugin_manifests.pytests/test_poison_eval.pytests/test_positioning_doc.pytests/test_prediction_calibration.pytests/test_prediction_contract.pytests/test_preflight.pytests/test_premortem.pytests/test_principis.pytests/test_private_state_collisions.pytests/test_proof_card.pytests/test_provenance.pytests/test_provenance_graph_unwired.pytests/test_public_docs_contract.pytests/test_quote_of_day.pytests/test_read_traversal.pytests/test_reader_migration.pytests/test_readme_honest_claims.pytests/test_recipes.pytests/test_refusal_demo.pytests/test_release_validate.pytests/test_release_workflow.pytests/test_relevance_gate.pytests/test_relevance_judge.pytests/test_retrieval_regression.pytests/test_safe_expr.pytests/test_scaffold.pytests/test_seed.pytests/test_selfdoc_fresh.pytests/test_selfdoc_narrative.pytests/test_serving_gate_eval.pytests/test_session_render.pytests/test_setup.pytests/test_situation.pytests/test_skillignore.pytests/test_stability.pytests/test_sub_worker.pytests/test_swallow.pytests/test_synth_eval.pytests/test_tier_full_hotpath.pytests/test_tier_in_contract.pytests/test_tier_pool_probe.pytests/test_tool_dispatch_smoke.py
Files
.claude-plugin/icon.pngasset26,871 bytes.claude-plugin/marketplace.jsonasset702 bytes.claude-plugin/plugin.jsonasset863 bytes.env.exampleasset2,367 bytes.gitattributesasset340 bytes.github/ISSUE_TEMPLATE/bug.ymlasset781 bytes.github/ISSUE_TEMPLATE/config.ymlasset430 bytes.github/ISSUE_TEMPLATE/feature.ymlasset630 bytes.github/ISSUE_TEMPLATE/source-dispute.ymlasset1,317 bytes.github/PULL_REQUEST_TEMPLATE.mddoc1,901 bytes.github/dependabot.ymlasset197 bytes.github/workflows/ci.ymlasset3,887 bytes.github/workflows/clawhub.ymlasset1,471 bytes.github/workflows/release.ymlasset8,522 bytes.github/workflows/windows.ymlasset1,313 bytes.gitignoreasset5,494 bytes.mcp.jsonasset175 bytes.mcpbignoreasset1,352 bytes.skillignoreasset1,708 bytesCHANGELOG.mddoc21,349 bytesCODE_OF_CONDUCT.mddoc763 bytesCONNECT-MCP.en.mddoc5,924 bytesCONNECT-MCP.mddoc12,069 bytesCONTRIBUTING.en.mddoc4,428 bytesCONTRIBUTING.mddoc6,862 bytesGOVERNANCE.mddoc789 bytesLICENSEasset1,066 bytesLIMITATIONS.mddoc6,395 bytesLIMITATIONS.ru.mddoc10,141 bytesMakefileruns922 bytesPRIVACY_POLICY.mddoc3,875 bytesPRIVACY_POLICY.ru.mddoc6,880 bytesQUICKSTART.en.mddoc5,901 bytesQUICKSTART.mddoc10,726 bytesREADME.mddoc22,433 bytesREADME.ru.mddoc30,721 bytesSECURITY.en.mddoc3,883 bytesSECURITY.mddoc6,031 bytesSKILL.mdcore67,435 bytesSUPPORT.mddoc729 bytesadvisors/README.mddoc3,469 bytesassets/demo-clash-en.gifasset122,600 bytesassets/demo-clash.gifasset114,074 bytesassets/demo-crosslingual-en.gifasset78,892 bytesassets/demo-crosslingual.gifasset71,622 bytesassets/demo-misattribution-en.gifasset93,878 bytesassets/demo-misattribution.gifasset90,431 bytesassets/demo-montecarlo-en.gifasset73,011 bytesassets/demo-montecarlo.gifasset73,369 bytesassets/demo-refusal-en-poster.pngasset235,992 bytesassets/demo-refusal-en.gifasset115,547 bytesassets/demo-refusal.gifasset109,193 bytesassets/logo-consilium-principis.pngasset60,894 bytesassets/logo-consilium-principis.svgasset3,197 bytesassets/og-image.pngasset234,934 bytesassets/readme-banner-v2.pngasset2,051,937 bytescatalog/pd_figures.jsonasset3,302 bytescommands/board.mddoc3,104 bytesdocs/CONNECT-HOSTS.en.mddoc10,735 bytesdocs/CONNECT-HOSTS.mddoc22,735 bytesdocs/FEDERATION.en.mddoc4,296 bytesdocs/FEDERATION.mddoc13,460 bytesdocs/GLOSSARY.mddoc45,911 bytesdocs/MANUAL.mddoc99,457 bytesdocs/PROJECT-LOG.mddoc58,540 bytesdocs/demo/demo-scenario.mddoc7,386 bytesdocs/demo/federation-council-sample.mddoc4,089 bytesdocs/demo/gallery.mddoc4,302 bytesdocs/dev/calibration-provenance.mddoc5,823 bytesdocs/dev/federation-dogfood-checklist.mddoc20,515 bytesdocs/dev/internal-tools.mddoc3,709 bytesdocs/dev/mcp-registry-publish-runbook.mddoc3,799 bytesdocs/dev/moat-baseline-provenance.mddoc3,910 bytesdocs/dev/moat-baseline.jsonasset1,306 bytesdocs/dev/registry-listings-runbook.mddoc5,789 bytesdocs/dev/retrieval-baseline.jsonasset2,395 bytesdocs/dev/retrieval-regression-refresh.mddoc4,184 bytesdocs/onboarding-recipe.en.mddoc12,824 bytesdocs/onboarding-recipe.mddoc19,348 bytesdocs/research/2026-06-26-digital-twins.mddoc8,324 bytesdocs/research/2026-10-16-competitors.mddoc45,751 bytesdocs/selfdoc/index.jsonasset202,327 bytesdocs/selfdoc/narrative/00-overview.mddoc3,621 bytesdocs/selfdoc/narrative/10-moat.mddoc4,061 bytesdocs/selfdoc/narrative/20-firewall.mddoc3,630 bytesdocs/selfdoc/narrative/30-architecture.mddoc4,347 bytesdocs/selfdoc/narrative/40-extend.mddoc4,047 bytesgemini-extension.jsonasset397 bytesglama.jsonasset99 bytesgov_heads.jsonasset128 bytesinstall.batruns849 bytesinstall.commandruns755 bytesinstall.pyruns22,984 bytesinstall.shruns585 byteslenses/README.mddoc3,228 byteslenses/cfo.mddoc1,938 byteslenses/marketer.mddoc1,753 byteslenses/mckinsey-strategy.mddoc3,799 byteslenses/sales.mddoc1,816 byteslenses/strategist/corpus.jsonlasset3,513 byteslenses/strategist/corpus.lock.jsonasset95 byteslenses/strategist/lens.mddoc2,483 byteslenses/strategist/sources/manifest.jsonasset818 bytesmanifest.jsonasset1,038 bytesmcp.example.jsonasset167 bytespackage-lock.jsonasset24,114 bytespackage.jsonruns172 bytespyproject.tomlasset2,653 bytesrecipes.jsonasset16,790 bytesrequirements/ci-base.txtdoc5,603 bytesrequirements/ci-no-numpy.txtdoc15 bytesrequirements/ci.txtdoc4,703 bytesscripts/abstention_curve.pyruns3,687 bytesscripts/adversarial_loop.pyruns7,303 bytesscripts/advisor_calibration.pyruns2,368 bytesscripts/atomic.pyruns2,624 bytesscripts/board.pyruns15,307 bytesscripts/board_init.pyruns6,279 bytesscripts/bootstrap_eval.pyruns17,539 bytesscripts/build_advisor.pyruns9,248 bytesscripts/build_manual.pyruns5,657 bytesscripts/build_orchestrator.pyruns3,582 bytesscripts/calc_render.pyruns10,013 bytesscripts/calibrate_advisor.pyruns18,397 bytesscripts/calibrated_consult.pyruns11,627 bytesscripts/calibration.pyruns7,223 bytesscripts/catalog.pyruns15,140 bytesscripts/catalog_verify.pyruns1,030 bytesscripts/ci_bundle_guard.pyruns2,260 bytesscripts/cli_backends.pyruns22,642 bytesscripts/collect_common.pyruns16,806 bytesscripts/collect_pd.pyruns3,914 bytesscripts/collect_transcript.pyruns3,803 bytesscripts/collect_web.pyruns4,041 bytesscripts/corpusbuild/__init__.pyruns0 bytesscripts/corpusbuild/apparatus.pyruns23,364 bytesscripts/corpusbuild/buildlock.pyruns3,146 bytesscripts/corpusbuild/chunk.pyruns1,511 bytesscripts/corpusbuild/clean.pyruns2,059 bytesscripts/corpusbuild/doctor.pyruns2,328 bytesscripts/corpusbuild/embed.pyruns1,211 bytesscripts/corpusbuild/enrich.pyruns3,709 bytesscripts/corpusbuild/graph.pyruns2,691 bytesscripts/corpusbuild/ids.pyruns744 bytesscripts/corpusbuild/ingest.pyruns2,426 bytesscripts/corpusbuild/kernel_extract.pyruns2,997 bytesscripts/corpusbuild/kernels.pyruns2,133 bytesscripts/corpusbuild/link.pyruns1,826 bytesscripts/corpusbuild/paths.pyruns1,994 bytesscripts/corpusbuild/pipeline.pyruns8,357 bytesscripts/council_verdict.pyruns54,604 bytesscripts/decision_card.pyruns19,009 bytesscripts/decision_map.pyruns13,613 bytesscripts/decision_record.pyruns9,236 bytesscripts/demo/_harness.pyruns2,963 bytesscripts/demo/clash.en.tapeasset626 bytesscripts/demo/clash.tapeasset744 bytesscripts/demo/clash_demo.pyruns5,256 bytesscripts/demo/crosslingual.en.tapeasset705 bytesscripts/demo/crosslingual.tapeasset694 bytesscripts/demo/crosslingual_demo.pyruns4,576 bytesscripts/demo/misattribution.en.tapeasset711 bytesscripts/demo/misattribution.tapeasset700 bytesscripts/demo/misattribution_demo.pyruns6,141 bytesscripts/demo/montecarlo.en.tapeasset656 bytesscripts/demo/montecarlo.tapeasset645 bytesscripts/demo/montecarlo_demo.pyruns6,484 bytesscripts/demo/refusal.en.tapeasset932 bytesscripts/demo/refusal.tapeasset1,075 bytesscripts/demo/refusal_demo.pyruns7,960 bytesscripts/diversity_check.pyruns7,818 bytesscripts/doctor.pyruns29,923 bytesscripts/engine/MCP_CONTRACT.mddoc890 bytesscripts/engine/__init__.pyruns13,464 bytesscripts/engine/fidelity.pyruns13,351 bytesscripts/engine/hybrid.pyruns3,525 bytesscripts/engine/lexical.pyruns3,912 bytesscripts/engine/multi_query.pyruns3,648 bytesscripts/engine/provenance.pyruns2,700 bytesscripts/engine/remote.pyruns1,444 bytesscripts/engine/retrieval.pyruns6,427 bytesscripts/engine/rrf.pyruns2,892 bytesscripts/engine/semantic.pyruns3,233 bytesscripts/eval.pyruns45,814 bytesscripts/experiments/README.mddoc2,050 bytesscripts/experiments/antisycophancy_battery.jsonlasset6,557 bytesscripts/experiments/antisycophancy_probe.pyruns13,928 bytesscripts/experiments/citation_rate_battery.jsonlasset1,619 bytesscripts/experiments/citation_rate_eval.pyruns12,509 bytesscripts/experiments/cross_model_battery.jsonlasset2,690 bytesscripts/experiments/cross_model_probe.pyruns11,159 bytesscripts/experiments/devils_advocate_battery.jsonlasset12,475 bytesscripts/experiments/devils_advocate_probe.pyruns14,353 bytesscripts/experiments/diagnose_multiquery.pyruns3,223 bytesscripts/experiments/diagnose_retrieval.pyruns2,679 bytesscripts/experiments/exp_bridge.pyruns7,233 bytesscripts/experiments/exp_graph.pyruns3,760 bytesscripts/experiments/exp_kernels.pyruns5,642 bytesscripts/experiments/exp_kernels_finer.pyruns2,446 bytesscripts/experiments/instructions_language_probe.pyruns20,732 bytesscripts/experiments/instructions_language_variants_probe.pyruns26,563 bytesscripts/experiments/lever_adoption_probe.pyruns29,473 bytesscripts/experiments/results/antisycophancy-2026-07-07.jsonasset4,540 bytesscripts/experiments/results/cross-model-2026-07-14-summary.mddoc4,427 bytesscripts/experiments/results/cross-model-2026-07-14.jsonasset2,801 bytesscripts/experiments/results/instructions-language-2026-07-16.jsonasset36,286 bytesscripts/experiments/results/instructions-language-variants-2026-07-16.jsonasset131,299 bytesscripts/experiments/results/lever-adoption-2026-07-15.jsonasset5,748 bytesscripts/experiments/results/lever-adoption-2026-07-16.jsonasset15,416 bytesscripts/experiments/results/tier-pool-2026-07-15.jsonasset2,827 bytesscripts/experiments/tier_pool_probe.pyruns13,187 bytesscripts/extractor.pyruns4,270 bytesscripts/federation/__init__.pyruns150 bytesscripts/federation/coordinator.pyruns6,567 bytesscripts/federation/demo.pyruns12,239 bytesscripts/federation/dogfood_byok.pyruns11,701 bytesscripts/federation/executor.pyruns3,466 bytesscripts/federation/judge.pyruns2,363 bytesscripts/federation/notify.pyruns2,945 bytesscripts/federation/queue.pyruns14,638 bytesscripts/federation/spawn.pyruns11,305 bytesscripts/federation/sub_worker.pyruns12,739 bytesscripts/federation/worker_common.pyruns6,354 bytesscripts/file_atomic.pyruns6,153 bytesscripts/firewall_check.shruns5,275 bytesscripts/gen_golden.pyruns4,982 bytesscripts/gen_selfdoc.pyruns9,918 bytesscripts/golden/machiavelli.retrieval.en.jsonlasset1,790 bytesscripts/golden/machiavelli.retrieval.jsonlasset1,433 bytesscripts/golden/marcus-aurelius.retrieval.en.jsonlasset1,826 bytesscripts/golden/marcus-aurelius.retrieval.jsonlasset987 bytesscripts/golden/sun-tzu.retrieval.en.jsonlasset1,894 bytesscripts/golden_meta.pyruns4,130 bytesscripts/governance.pyruns24,495 bytesscripts/host_install.pyruns23,276 bytesscripts/ingest_telegram.pyruns6,135 bytesscripts/judge_backend.pyruns8,122 bytesscripts/lang_check.pyruns7,346 bytesscripts/lens_builder.pyruns5,241 bytesscripts/lenses.pyruns4,812 bytesscripts/lifecycle.pyruns5,973 bytesscripts/llm_local.pyruns7,745 bytesscripts/manifest_builder.pyruns3,509 bytesscripts/mc_run.pyruns14,315 bytesscripts/mcp_decisions.pyruns36,912 bytesscripts/mcp_install.pyruns21,708 bytesscripts/mcp_server.pyruns226,778 bytesscripts/mdmeta.pyruns2,014 bytesscripts/mirror.pyruns3,664 bytesscripts/moat_battery/generic.camouflage.jsonlasset1,159 bytesscripts/moat_battery/machiavelli.camouflage.jsonlasset1,934 bytesscripts/moat_battery/marcus-aurelius.camouflage.jsonlasset1,849 bytesscripts/moat_battery/poisoned.jsonlasset7,964 bytesscripts/moat_battery/sun-tzu.camouflage.jsonlasset1,848 bytesscripts/moat_check.pyruns21,011 bytesscripts/outcome_loop.pyruns8,690 bytesscripts/perturbation.pyruns3,577 bytesscripts/poison_eval.pyruns9,542 bytesscripts/prediction_calibration.pyruns6,667 bytesscripts/preflight.pyruns3,869 bytesscripts/premortem.pyruns3,475 bytesscripts/principis.pyruns1,828 bytesscripts/recipes.pyruns8,369 bytesscripts/release_validate.pyruns6,998 bytesscripts/relevance_gate.pyruns20,730 bytesscripts/relevance_judge.pyruns18,996 bytesscripts/retrieval_regression.pyruns7,751 bytesscripts/safe_expr.pyruns13,586 bytesscripts/scaffold.pyruns14,815 bytesscripts/seed.pyruns6,618 bytesscripts/selfdoc_query.pyruns5,622 bytesscripts/serving_gate_eval.pyruns16,667 bytesscripts/session_render.pyruns52,668 bytesscripts/setup_full.pyruns5,443 bytesscripts/situation.pyruns6,175 bytesscripts/stability.pyruns1,372 bytesscripts/synth_eval.pyruns15,758 bytesscripts/tier_full.pyruns17,683 bytesserver.jsonasset724 bytestests/conftest.pyruns11,510 bytestests/fixtures/demo_corpora/README.mddoc1,261 bytestests/fixtures/demo_corpora/machiavelli.jsonlasset215 bytestests/fixtures/demo_corpora/marcus-aurelius.jsonlasset486 bytestests/fixtures/scores/README.mddoc2,407 bytestests/fixtures/scores/machiavelli.semantic.jsonasset1,627 bytestests/fixtures/scores/marcus-aurelius.semantic.jsonasset1,501 bytestests/fixtures/scores/sun-tzu.semantic.jsonasset765 bytestests/test_abstention_curve.pyruns4,515 bytestests/test_adversarial_loop.pyruns15,495 bytestests/test_advisor_calibration.pyruns2,325 bytestests/test_antisycophancy_probe.pyruns10,676 bytestests/test_apparatus.pyruns27,530 bytestests/test_apparatus_inline_in_regions.pyruns5,388 bytestests/test_atomic.pyruns2,825 bytestests/test_attribution.pyruns12,173 bytestests/test_board_render.pyruns2,180 bytestests/test_bootstrap_eval.pyruns13,270 bytestests/test_build_manual.pyruns2,149 bytestests/test_build_orchestrator.pyruns4,025 bytestests/test_buildlock.pyruns825 bytestests/test_bundle_guard.pyruns4,189 bytestests/test_calc_render.pyruns8,575 bytestests/test_calibrate_advisor.pyruns20,655 bytestests/test_calibrated_consult.pyruns20,404 bytestests/test_calibration.pyruns4,078 bytestests/test_card_stays_local.pyruns5,984 bytestests/test_catalog.pyruns10,327 bytestests/test_catalog_rights.pyruns4,788 bytestests/test_catalog_tools.pyruns3,994 bytestests/test_catalog_verify.pyruns1,789 bytestests/test_citation_rate_eval.pyruns8,460 bytestests/test_cite_early_exit.pyruns11,722 bytestests/test_cli_backends.pyruns21,069 bytestests/test_collect_strip.pyruns9,754 bytestests/test_config_set.pyruns5,613 bytestests/test_corpus_chunk.pyruns1,660 bytestests/test_corpus_clean.pyruns1,964 bytestests/test_corpus_doctor.pyruns989 bytestests/test_corpus_doctor_calib.pyruns1,768 bytestests/test_corpus_embed.pyruns493 bytestests/test_corpus_enrich.pyruns886 bytestests/test_corpus_graph.pyruns1,478 bytestests/test_corpus_ids.pyruns765 bytestests/test_corpus_ingest.pyruns862 bytestests/test_corpus_kernels.pyruns948 bytestests/test_corpus_link.pyruns841 bytestests/test_corpus_paths.pyruns815 bytestests/test_corpus_pipeline.pyruns1,597 bytestests/test_corpus_tiering_staleness.pyruns6,790 bytestests/test_council_verdict.pyruns35,975 bytestests/test_cross_model_probe.pyruns3,609 bytestests/test_dark_tools_wired.pyruns597 bytestests/test_decision_card.pyruns12,268 bytestests/test_decision_map.pyruns14,135 bytestests/test_decision_record.pyruns13,234 bytestests/test_decision_tools.pyruns29,432 bytestests/test_demo_scenarios.pyruns3,757 bytestests/test_devils_advocate_probe.pyruns8,366 bytestests/test_disclosure_plate.pyruns3,618 bytestests/test_diversity_check_tool.pyruns3,649 bytestests/test_doctor.pyruns10,382 bytestests/test_engine_contract.pyruns2,153 bytestests/test_engine_fidelity.pyruns3,903 bytestests/test_engine_hybrid.pyruns3,181 bytestests/test_engine_lexical.pyruns2,510 bytestests/test_engine_remote.pyruns509 bytestests/test_engine_resolve.pyruns3,930 bytestests/test_engine_semantic.pyruns3,028 bytestests/test_engine_threshold.pyruns796 bytestests/test_eval.pyruns8,648 bytestests/test_explain_self.pyruns3,142 bytestests/test_export_session.pyruns4,432 bytestests/test_extractor.pyruns4,990 bytestests/test_federation_coordinator.pyruns10,402 bytestests/test_federation_demo.pyruns4,253 bytestests/test_federation_docs.pyruns849 bytestests/test_federation_dogfood_doc.pyruns1,058 bytestests/test_federation_executor.pyruns4,698 bytestests/test_federation_judge.pyruns2,650 bytestests/test_federation_mcp.pyruns12,427 bytestests/test_federation_notify.pyruns5,246 bytestests/test_federation_queue.pyruns14,095 bytestests/test_fetch_hardening.pyruns9,400 bytestests/test_fidelity_cache.pyruns2,331 bytestests/test_fidelity_gate.pyruns4,085 bytestests/test_fidelity_marker.pyruns342 bytestests/test_fidelity_negation_crop.pyruns5,184 bytestests/test_fidelity_threshold.pyruns1,211 bytestests/test_fidelity_tiers.pyruns1,891 bytestests/test_file_atomic.pyruns3,044 bytestests/test_firewall_check.pyruns2,523 bytestests/test_gate_simple_tier_inert.pyruns8,235 bytestests/test_gen_golden.pyruns6,565 bytestests/test_gen_selfdoc.pyruns4,153 bytestests/test_generation_publication.pyruns13,942 bytestests/test_golden_meta.pyruns6,874 bytestests/test_governance.pyruns24,467 bytestests/test_grounded_lens.pyruns4,205 bytestests/test_host_install.pyruns31,079 bytestests/test_host_judge_protocol.pyruns25,111 bytestests/test_index_fingerprint.pyruns9,003 bytestests/test_index_tier.pyruns903 bytestests/test_ingest_telegram.pyruns8,231 bytestests/test_install.pyruns5,081 bytestests/test_install_runtime.pyruns6,655 bytestests/test_instructions_language_probe.pyruns13,386 bytestests/test_instructions_language_variants_probe.pyruns18,964 bytestests/test_instructions_response_language.pyruns3,521 bytestests/test_judge_backend.pyruns10,222 bytestests/test_kernel_extract.pyruns1,768 bytestests/test_lang_check.pyruns6,851 bytestests/test_language_config.pyruns6,094 bytestests/test_lens_builder.pyruns4,125 bytestests/test_lenses.pyruns2,847 bytestests/test_lever_adoption_probe.pyruns17,290 bytestests/test_lifecycle_backcompat.pyruns5,844 bytestests/test_lifecycle_tools.pyruns31,537 bytestests/test_llm_local.pyruns6,783 bytestests/test_manifest_builder.pyruns3,649 bytestests/test_marker_status_single_source.pyruns2,695 bytestests/test_mc_run.pyruns15,835 bytestests/test_mcp_install.pyruns17,441 bytestests/test_mcp_json_config.pyruns4,671 bytestests/test_mcp_server.pyruns40,882 bytestests/test_mcp_server_bounds.pyruns15,958 bytestests/test_mcp_server_stdio.pyruns6,658 bytestests/test_mirror.pyruns3,227 bytestests/test_moat_check.pyruns13,102 bytestests/test_montecarlo_demo.pyruns2,293 bytestests/test_multi_query.pyruns4,973 bytestests/test_network_sandbox.pyruns2,163 bytestests/test_no_dark_tools.pyruns3,737 bytestests/test_no_inducement_claims.pyruns4,373 bytestests/test_outcome_loop.pyruns7,519 bytestests/test_owner_gated_followups.pyruns8,989 bytestests/test_path_idiom.pyruns3,531 bytestests/test_perturbation.pyruns4,414 bytestests/test_plugin_manifests.pyruns11,607 bytestests/test_poison_eval.pyruns9,603 bytestests/test_positioning_doc.pyruns1,378 bytestests/test_prediction_calibration.pyruns6,342 bytestests/test_prediction_contract.pyruns4,864 bytestests/test_preflight.pyruns3,110 bytestests/test_premortem.pyruns3,095 bytestests/test_principis.pyruns2,160 bytestests/test_private_state_collisions.pyruns3,997 bytestests/test_proof_card.pyruns2,651 bytestests/test_provenance.pyruns3,513 bytestests/test_provenance_graph_unwired.pyruns3,121 bytestests/test_public_docs_contract.pyruns11,746 bytestests/test_quote_of_day.pyruns3,381 bytestests/test_read_traversal.pyruns7,252 bytestests/test_reader_migration.pyruns713 bytestests/test_readme_honest_claims.pyruns15,569 bytestests/test_recipes.pyruns7,149 bytestests/test_refusal_demo.pyruns4,218 bytestests/test_release_validate.pyruns7,305 bytestests/test_release_workflow.pyruns5,588 bytestests/test_relevance_gate.pyruns41,098 bytestests/test_relevance_judge.pyruns33,969 bytestests/test_retrieval_regression.pyruns14,168 bytestests/test_safe_expr.pyruns8,955 bytestests/test_scaffold.pyruns8,125 bytestests/test_seed.pyruns6,991 bytestests/test_selfdoc_fresh.pyruns3,059 bytestests/test_selfdoc_narrative.pyruns754 bytestests/test_serving_gate_eval.pyruns18,340 bytestests/test_session_render.pyruns21,772 bytestests/test_setup.pyruns2,602 bytestests/test_situation.pyruns5,617 bytestests/test_skillignore.pyruns4,133 bytestests/test_stability.pyruns1,535 bytestests/test_sub_worker.pyruns14,909 bytestests/test_swallow.pyruns3,497 bytestests/test_synth_eval.pyruns15,039 bytestests/test_tier_full_hotpath.pyruns3,660 bytestests/test_tier_in_contract.pyruns8,484 bytestests/test_tier_pool_probe.pyruns8,172 bytestests/test_tool_dispatch_smoke.pyruns6,188 bytes
Read SKILL.md
# Consilium-Principis — личный совет директоров (personal-board)
> *Consilium Principis* — совещательный орган при принцепсе (был и у Марка Аврелия).
> Имя называет коллегию, а не одного советника: много линз, взвешенное решение.
> Бренд-титул; технический id скилла и команды — `personal-board` / `/board`.
## Что это и чем отличается
Инструмент решений, не оракул и не развлечение. Ценность не в «мудрости» фигур, а в
РЕФРЕЙМЕ: разные линзы вскрывают слепые пятна пользователя. Ров не в том, чтобы собрать
совет (это коммодити), а в том, что делает его НЕ-вредным: заземление в первоисточниках,
маркеры верности, fail-closed воздержание, несогласие-как-фича.
Честная рамка (её держит и Rule 16 в INSTRUCTIONS): советники это **AI-представления мыслителей
по их публичным текстам, а не сами люди**. Advisor держит линзу автора и опирается на его слова,View the complete source on GitHubconsilium-connect
When your agent uses it
Onboarding funnel for Consilium-Principis — a personal board of AI personas of real thinkers (Sun Tzu, Marcus Aurelius, Epictetus, Machiavelli, plus your own legal figures) with a fail-closed fidelity contour, grounded in public-domain texts. This skill does NOT contain the advisor engine — that lives in a local MCP server. Use it to wire up that server in your agent, then convene the board. Trigger with: "connect consilium", "set up the board", "council of advisors setup". In Russian: «подключить консилиум», «настроить совет».
What it loads into context
Frontmatter
148 tokensAlways available to the agent
SKILL.md
687 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- What to do
- Why a separate MCP server
Scripts executed separately
../../install.py../../scripts/board.py../../scripts/board_init.py../../scripts/host_install.py../../scripts/mcp_server.py../../scripts/setup_full.py
Files
../../install.pyruns22,984 bytes../../scripts/board.pyruns15,307 bytes../../scripts/board_init.pyruns6,279 bytes../../scripts/host_install.pyruns23,276 bytes../../scripts/mcp_server.pyruns226,778 bytes../../scripts/setup_full.pyruns5,443 bytesSKILL.mdcore2,788 bytesSKILL.mdcore2,788 bytesSKILL.mdcore2,788 bytes
Read SKILL.md
# Consilium-Principis — connect the server (onboarding)
**Important, read first.** This markdown skill is a *funnel*, not the product. The advisor logic —
the fidelity contour (🔵 verbatim / 🟢 commentary / 🟡 extrapolation / 📐 calculation), fail-closed
abstention, the quote gate, the council choreography, and every tool — lives in a **local MCP
server** (`scripts/mcp_server.py`), not in this file. Installed on its own via `npx skills add`,
this skill has no tools to call yet. Its whole job is to get you to the server.
Do not fabricate advisor answers or pretend the tools exist. If the MCP server is not connected,
say so and walk the user through connecting it.
## What to do
1. **Get the code.** Clone or install the project:View the complete source on GitHubconsilium-principis
When your agent uses it
Личный совет директоров из AI-персон реальных мыслителей (Сунь-цзы, Марк Аврелий, Эпиктет, Макиавелли и твои легальные фигуры) с защитным контуром верности. Используй когда: «созови совет», «спроси Аврелия», «собери совет директоров», «что выгоднее — X или Y», «добавь советника/линзу», «премортем», «board», «council». Движок и правила — в MCP-сервере этого плагина; навык подсказывает, когда созвать и как довести до первого заседания. In English: a personal board of AI personas of real thinkers (Sun Tzu, Marcus Aurelius, Epictetus, Machiavelli, plus your own legal figures) with a fail-closed fidelity contour. Answers follow the language of the question. Trigger with: "convene the board", "ask Aurelius", "council of advisors", "what's better — X or Y", "add an advisor/lens", "premortem", "board", "council".
What it loads into context
Frontmatter
274 tokensAlways available to the agent
SKILL.md
836 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Когда созывать
- Довести до первой ценности (онбординг)
- Граница
Files
SKILL.mdcore4,125 bytes
Read SKILL.md
# Consilium-Principis — консьерж совета
Подключён плагин Consilium-Principis. **Движок — MCP-сервер этого плагина**: он отдаёт полные
правила (контур верности 🔵/🟢/🟡/📐, fail-closed воздержание, хореография заседания) и тулы. Этот
навык — тонкий консьерж: когда созвать совет и как быстро довести пользователя до первой ценности.
Вся работа — через MCP-тулы сервера, локальные скрипты не вызывай.
## Когда созывать
- «созови совет / собери совет директоров / что думает совет по…» → заседание-форум.
- «спроси Аврелия / что бы сказал [фигура]» → один советник, строго по его текстам.
- «что выгоднее — X или Y / стоит ли» → карта решения + Монте-Карло (📐).
- «пусть [A] и [B] поспорят», «премортем», «добавь советника/линзу», «не противоречу ли я себе».
## Довести до первой ценности (онбординг)View the complete source on GitHubSkills included
- consilium-principis
- consilium-connect
- consilium-principis
Repository facts
- License
- MIT
- Created
- Jun 25, 2026
- Last pushed
- Nov 5, 2026
- Forks
- 0
- Open issues
- 0
- Project activity
- Active
Before you install
Network or broad shellAutomated signals, not a guarantee
Checked Nov 6, 2026
Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.
Show 5 notes
docs/selfdoc/index.json:1644Analysis incomplete: physical or joined line exceeds character limitdocs/selfdoc/index.json:1642Analysis incomplete: physical or joined line exceeds character limitdocs/selfdoc/index.json:1643Analysis incomplete: physical or joined line exceeds character limitskills/consilium-connect/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/consilium-connect/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed
- No broad tool permissions
- 24 dangerous shell commandsin 18 files: CHANGELOG.md:104 scripts/experiments/citation_rate_eval.py:1 tests/test_safe_expr.py:8 and 15 more
- 774 network referencesin 88 files: package-lock.json:12 tests/test_fetch_hardening.py:24 docs/research/2026-10-16-competitors.md:3 and 85 more
- 1 obfuscation signalin 1 file: scripts/federation/executor.py:27
- No instruction overrides
- 317 executable scriptsin 311 files: install.py:1 scripts/board.py:1 scripts/board_init.py:1 and 308 more
- 144 references to secretsin 41 files: tests/test_cli_backends.py:59 scripts/cli_backends.py:26 scripts/experiments/instructions_language_probe.py:39 and 38 more
- No requests to vote in Hot
Show all 1,260 signals by file
.claude-plugin/marketplace.json
- Network accessline 14
}, "description": "A council of AI personas of real thinkers + a decision map (Monte Carlo), with a fail-closed fidelity contour.", "homepage": "https://github.com/ilyautov/consilium-principis", - Network accessline 15
"description": "A council of AI personas of real thinkers + a decision map (Monte Carlo), with a fail-closed fidelity contour.", "homepage": "https://github.com/ilyautov/consilium-principis", "tags": [ - Network accessline 16
"homepage": "https://github.com/ilyautov/consilium-principis",
.claude-plugin/plugin.json
- Network accessline 7
"name": "Ilya Utov", "email": "ilyautov@gmail.com", "url": "https://github.com/ilyautov" - Network accessline 8
"email": "ilyautov@gmail.com", "url": "https://github.com/ilyautov" }, - Network accessline 9
"url": "https://github.com/ilyautov" - Network accessline 10
}, "homepage": "https://github.com/ilyautov/consilium-principis", "repository": "https://github.com/ilyautov/consilium-principis", - Network accessline 11
"homepage": "https://github.com/ilyautov/consilium-principis", - Network accessline 12
"repository": "https://github.com/ilyautov/consilium-principis", - Network accessline 13
"license": "MIT", "supportUrl": "https://github.com/ilyautov/consilium-principis/issues", "mcpServers": { - Network accessline 14
"supportUrl": "https://github.com/ilyautov/consilium-principis/issues",
.env.example
- Access to secretsline 1
[Credential-related source omitted] - Access to secretsline 10
[Credential-related source omitted] - Network accessline 13
# Адрес ollama, если не дефолтный. Проверь настройку: `python3 scripts/setup_full.py`, # диагностика: `python3 scripts/doctor.py`. Помни: FULL требует ещё и `pip install numpy`. # OLLAMA_HOST=http://127.0.0.1:11434 - Network accessline 14
# диагностика: `python3 scripts/doctor.py`. Помни: FULL требует ещё и `pip install numpy`. # OLLAMA_HOST=http://127.0.0.1:11434 # EMBED_MODEL=bge-m3 - Network accessline 15
# OLLAMA_HOST=http://127.0.0.1:11434 - Dangerous shell operationline 25
# ── Dev/eval (обычному пользователю не нужны) ─────────────────────────────────
.github/ISSUE_TEMPLATE/config.yml
- Network accessline 2
contact_links: - name: Support and usage help url: https://github.com/ilyautov/consilium-principis/discussions - Network accessline 3
- name: Support and usage help url: https://github.com/ilyautov/consilium-principis/discussions about: Ask installation and usage questions without exposing private data. - Network accessline 4
url: https://github.com/ilyautov/consilium-principis/discussions - Network accessline 5
about: Ask installation and usage questions without exposing private data. - name: Security vulnerability or data exposure url: https://github.com/ilyautov/consilium-principis/security/advisories/new - Network accessline 6
- name: Security vulnerability or data exposure url: https://github.com/ilyautov/consilium-principis/security/advisories/new about: Report security issues privately; do not create a public issue. - Network accessline 7
url: https://github.com/ilyautov/consilium-principis/security/advisories/new
.github/PULL_REQUEST_TEMPLATE.md
.github/workflows/ci.yml
- Network accessline 19
python-version: ["3.10", "3.11", "3.12", "3.13"] env: OLLAMA_HOST: http://127.0.0.1:59999 # ollama недоступен → лексический пол - Network accessline 20
env: OLLAMA_HOST: http://127.0.0.1:59999 # ollama недоступен → лексический пол steps: - Network accessline 21
OLLAMA_HOST: http://127.0.0.1:59999 # ollama недоступен → лексический пол - Access to secretsline 32
[Credential-related source omitted] - Network accessline 45
runs-on: ubuntu-latest env: OLLAMA_HOST: http://127.0.0.1:59999 - Network accessline 46
env: OLLAMA_HOST: http://127.0.0.1:59999 steps: - Network accessline 47
OLLAMA_HOST: http://127.0.0.1:59999 - Network accessline 61
runs-on: macos-latest env: OLLAMA_HOST: http://127.0.0.1:59999 - Network accessline 62
env: OLLAMA_HOST: http://127.0.0.1:59999 steps: - Network accessline 63
OLLAMA_HOST: http://127.0.0.1:59999
.github/workflows/clawhub.yml
- Network accessline 3
# Реестр скиллов OpenClaw: https://clawhub.ai
.github/workflows/release.yml
.github/workflows/windows.yml
.skillignore
- Access to secretsline 66
[Credential-related source omitted]
CHANGELOG.md
- Network accessline 3
Format — [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), - Network accessline 4
versions — [SemVer](https://semver.org/). Dates in ISO (YYYY-MM-DD). - Network accessline 102
[Credential-related source omitted] - Access to secretsline 102
[Credential-related source omitted] - Network accessline 103
- The Linux ollama hint in `setup_full.py` points to the official download page and install script instead of `curl … | sh`; QUICKSTART describes removing the skill folder instead of quoting `rm -rf`. - Dangerous shell operationline 104
and install script instead of `curl … | sh`; QUICKSTART describes removing - Network accessline 104
and install script instead of `curl … | sh`; QUICKSTART describes removing - Dangerous shell operationline 105
the skill folder instead of quoting `rm -rf`. - Dangerous shell operationline 246
- **Eval (M5/M6):** `safe_expr` OverflowError→SafeExprEvalError; judge median, tolerance ≥1/n, - Network accessline 297
[Unreleased]: https://github.com/ilyautov/consilium-principis/compare/v0.2.1...HEAD - Network accessline 298
[0.2.1]: https://github.com/ilyautov/consilium-principis/releases/tag/v0.2.1 - Network accessline 299
[0.2.0]: https://github.com/ilyautov/consilium-principis/releases/tag/v0.2.0 - Network accessline 300
[0.1.3]: https://github.com/ilyautov/consilium-principis/releases/tag/v0.1.3 - Network accessline 301
[0.1.2]: https://github.com/ilyautov/consilium-principis/releases/tag/v0.1.2 - Network accessline 302
[0.1.1]: https://github.com/ilyautov/consilium-principis/releases/tag/v0.1.1 - Network accessline 303
[0.1.0]: https://github.com/ilyautov/consilium-principis/tree/v0.1.0
CONNECT-MCP.en.md
- Network accessline 5
> Release: [v0.2.1](https://github.com/ilyautov/consilium-principis/releases/download/v0.2.1/consilium-principis.mcpb) - Network accessline 30
git clone https://github.com/ilyautov/consilium-principis ~/consilium-principis - Network accessline 105
**Install:** 1. Download `consilium-principis.mcpb` from the [latest release](https://github.com/ilyautov/consilium-principis/releases/latest). - Network accessline 106
1. Download `consilium-principis.mcpb` from the [latest release](https://github.com/ilyautov/consilium-principis/releases/latest).
CONNECT-MCP.md
- Network accessline 5
> Релиз: [v0.2.1](https://github.com/ilyautov/consilium-principis/releases/download/v0.2.1/consilium-principis.mcpb) - Network accessline 38
- **Без терминала:** скачай **ZIP** проекта и распакуй в домашнюю папку (получится `~/consilium-principis`) → [скачать ZIP](https://github.com/ilyautov/consilium-principis/archive/refs/heads/master.zip) - Network accessline 39
`~/consilium-principis`) → [скачать ZIP](https://github.com/ilyautov/consilium-principis/archive/refs/heads/master.zip) - Network accessline 42
git clone https://github.com/ilyautov/consilium-principis ~/consilium-principis - Network accessline 128
**Установить:** 1. Скачай `consilium-principis.mcpb` со [страницы релиза](https://github.com/ilyautov/consilium-principis/releases/latest). - Network accessline 129
1. Скачай `consilium-principis.mcpb` со [страницы релиза](https://github.com/ilyautov/consilium-principis/releases/latest).
CONTRIBUTING.en.md
- Network accessline 12
The project's value is grounding personas in **genuine, legally free** texts. Only public-domain material goes into the repository (Sun Tzu, Marcus Aurelius, Epictetus, Machiavelli, etc., usually from [Project Gutenberg](https://www.gutenbe - Network accessline 14
from [Project Gutenberg](https://www.gutenberg.org)). - Network accessline 51
OLLAMA_HOST=http://127.0.0.1:59999 python3 -m pytest tests/ -q - Network accessline 63
git clone https://github.com/ilyautov/consilium-principis - Network accessline 70
Only **Python 3.10+** is required. Smart cross-lingual search is optional ([ollama](https://ollama.com) + `bge-m3`); without it the contour runs on the lexical floor. - Network accessline 71
([ollama](https://ollama.com) + `bge-m3`); without it the contour runs on the lexical floor.
CONTRIBUTING.md
- Network accessline 12
Ценность проекта в заземлении персон в **подлинных, легально свободных** текстах. В репозиторий попадают ТОЛЬКО материалы в общественном достоянии (Сунь-цзы, Марк Аврелий, Эпиктет, Макиавелли и т.п., обычно из [Project Gutenberg](https://ww - Network accessline 14
и т.п., обычно из [Project Gutenberg](https://www.gutenberg.org)). - Network accessline 51
OLLAMA_HOST=http://127.0.0.1:59999 python3 -m pytest tests/ -q - Network accessline 63
git clone https://github.com/ilyautov/consilium-principis - Network accessline 70
Нужен только **Python 3.10+**. Умный кросс-язычный поиск опционален ([ollama](https://ollama.com) + `bge-m3`); без него контур работает на лексическом полу. - Network accessline 71
([ollama](https://ollama.com) + `bge-m3`); без него контур работает на лексическом полу.
Makefile
QUICKSTART.en.md
- Network accessline 5
> Release: [v0.2.1](https://github.com/ilyautov/consilium-principis/releases/download/v0.2.1/consilium-principis.mcpb) - Network accessline 28
1. Open **Claude Code**. 2. Give it this link: `https://github.com/ilyautov/consilium-principis`. - Network accessline 29
2. Give it this link: `https://github.com/ilyautov/consilium-principis`. - Network accessline 34
Other hosts are not verified merely because they can read a config. Check the experimental host matrix in [`docs/CONNECT-HOSTS.en.md`](https://github.com/ilyautov/consilium-principis/blob/master/docs/CONNECT-HOSTS.en.md) and generate a conf - Network accessline 35
matrix in [`docs/CONNECT-HOSTS.en.md`](https://github.com/ilyautov/consilium-principis/blob/master/docs/CONNECT-HOSTS.en.md) and generate a config locally: - Network accessline 75
For the complete source, manifest, and validation recipe, see [`advisors/README.md`](advisors/README.md) and [`docs/onboarding-recipe.en.md`](https://github.com/ilyautov/consilium-principis/blob/master/docs/onboarding-recipe.en.md). - Network accessline 76
[`advisors/README.md`](advisors/README.md) and [`docs/onboarding-recipe.en.md`](https://github.com/ilyautov/consilium-principis/blob/master/docs/onboarding-recipe.en.md). - Network accessline 101
- Enable FULL retrieval: `python3 scripts/board.py setup-full`. - Connect an MCP host: per-host status is in [`docs/CONNECT-HOSTS.en.md`](https://github.com/ilyautov/consilium-principis/blob/master/docs/CONNECT-HOSTS.en.md); - Network accessline 102
- Connect an MCP host: per-host status is in [`docs/CONNECT-HOSTS.en.md`](https://github.com/ilyautov/consilium-principis/blob/master/docs/CONNECT-HOSTS.en.md); start with `python3 scripts/board.py mcp-config --json`. On Windows use - Network accessline 103
[`docs/CONNECT-HOSTS.en.md`](https://github.com/ilyautov/consilium-principis/blob/master/docs/CONNECT-HOSTS.en.md); - Network accessline 115
Detailed MCP instructions are in [`CONNECT-MCP.en.md`](CONNECT-MCP.en.md); the status of each host is in [`docs/CONNECT-HOSTS.en.md`](https://github.com/ilyautov/consilium-principis/blob/master/docs/CONNECT-HOSTS.en.md). - Network accessline 116
is in [`docs/CONNECT-HOSTS.en.md`](https://github.com/ilyautov/consilium-principis/blob/master/docs/CONNECT-HOSTS.en.md).
QUICKSTART.md
- Network accessline 1
[English](https://github.com/ilyautov/consilium-principis/blob/master/QUICKSTART.en.md) · **Русский** - Network accessline 5
> Релиз: [v0.2.1](https://github.com/ilyautov/consilium-principis/releases/download/v0.2.1/consilium-principis.mcpb) - Network accessline 34
1. Открой **Claude Code**. 2. Дай ссылку: > «Поставь мне этот навык: `https://github.com/ilyautov/consilium-principis`» - Network accessline 35
2. Дай ссылку: > «Поставь мне этот навык: `https://github.com/ilyautov/consilium-principis`» 3. Claude сам склонирует и поставит (`python3 install.py` → копия в `~/.claude/skills/` → - Network accessline 36
> «Поставь мне этот навык: `https://github.com/ilyautov/consilium-principis`» - Network accessline 44
> Cowork и другие неописанные в таблице хосты не считаются проверенными: смотри > [`docs/CONNECT-HOSTS.md`](https://github.com/ilyautov/consilium-principis/blob/master/docs/CONNECT-HOSTS.md) и сначала проверь сгенерированный конфиг на - Network accessline 45
> [`docs/CONNECT-HOSTS.md`](https://github.com/ilyautov/consilium-principis/blob/master/docs/CONNECT-HOSTS.md) и сначала проверь сгенерированный конфиг на - Network accessline 52
Знать код не нужно. Нужен только **Python 3.10+** (Windows: при установке с [python.org](https://python.org) отметь «Add Python to PATH»). - Network accessline 53
[python.org](https://python.org) отметь «Add Python to PATH»). - Network accessline 55
1. Получи папку скилла (clone или zip), зайди в неё. 2. Запусти установщик: - **macOS:** двойной клик [`install.command`](https://github.com/ilyautov/consilium-principis/blob/master/install.command) (первый раз: правый клик → «Открыть»); - Network accessline 56
2. Запусти установщик: - **macOS:** двойной клик [`install.command`](https://github.com/ilyautov/consilium-principis/blob/master/install.command) (первый раз: правый клик → «Открыть»); - **Windows:** двойной клик [`install.bat`](https - Network accessline 57
- **macOS:** двойной клик [`install.command`](https://github.com/ilyautov/consilium-principis/blob/master/install.command) (первый раз: правый клик → «Открыть»); - Network accessline 58
- **Windows:** двойной клик [`install.bat`](https://github.com/ilyautov/consilium-principis/blob/master/install.bat); - Network accessline 85
Полный рецепт сборки советника (откуда брать источники, как писать `persona.md`, проверка каждой цитаты контуром) лежит в [`advisors/README.md`](advisors/README.md) и [`docs/onboarding-recipe.md`](https://github.com/ilyautov/consilium-princ - Network accessline 86
цитаты контуром) лежит в [`advisors/README.md`](advisors/README.md) и [`docs/onboarding-recipe.md`](https://github.com/ilyautov/consilium-principis/blob/master/docs/onboarding-recipe.md). - Network accessline 117
`python3 scripts/diversity_check.py`. - **Включить FULL-тир:** `python3 scripts/board.py setup-full` (подскажет про ollama, сам стянет `bge-m3`). - **Подключить как MCP-сервер:** статус конкретного хоста в [`docs/CONNECT-HOSTS.md`](https:// - Network accessline 118
- **Включить FULL-тир:** `python3 scripts/board.py setup-full` (подскажет про ollama, сам стянет `bge-m3`). - **Подключить как MCP-сервер:** статус конкретного хоста в [`docs/CONNECT-HOSTS.md`](https://github.com/ilyautov/consilium-principi - Network accessline 119
- **Подключить как MCP-сервер:** статус конкретного хоста в [`docs/CONNECT-HOSTS.md`](https://github.com/ilyautov/consilium-principis/blob/master/docs/CONNECT-HOSTS.md), - Network accessline 120
подробности в [`CONNECT-MCP.md`](https://github.com/ilyautov/consilium-principis/blob/master/CONNECT-MCP.md). Из корня чекаута сначала сгенерируй конфиг:
README.md
- Network accessline 22
[](https://github.com/ilyautov/consilium-principis/actions/workflows/ci.yml) - Network accessline 23
[](LICENSE) - Network accessline 24
[](https://www.python.org/) - Network accessline 25
[](CHANGELOG.md) - Network accessline 26
[](https://github.com/ilyautov/consilium-principis/stargazers) - Access to secretsline 126
[Credential-related source omitted] - Network accessline 159
From the [skills.sh](https://www.skills.sh) registry, one command installs the thin onboarding funnel: - Network accessline 172
> "Install this skill for me: `https://github.com/ilyautov/consilium-principis`" - Network accessline 180
git clone https://github.com/ilyautov/consilium-principis ~/consilium-principis - Network accessline 188
The [release](https://github.com/ilyautov/consilium-principis/releases/latest) ships a single-file `.mcpb` bundle — a Claude Desktop extension. Download it, then in Claude Desktop open **Settings → - Network accessline 202
**All you need:** Python 3.10+. For smart cross-language search, optionally [ollama](https://ollama.com) with `bge-m3` (the board will walk you through setting it up). The contour works without it too. - Network accessline 203
[ollama](https://ollama.com) with `bge-m3` (the board will walk you through setting it up). The contour works without it too. - Network accessline 308
<div align="center"> <sub>Consilium Principis · early access (v0.2.1) · <a href="https://github.com/ilyautov/consilium-principis/releases/download/v0.2.1/consilium-principis.mcpb">release artifact</a> · <a href="LICENSE">MIT</a> · <a href=" - Network accessline 309
<sub>Consilium Principis · early access (v0.2.1) · <a href="https://github.com/ilyautov/consilium-principis/releases/download/v0.2.1/consilium-principis.mcpb">release artifact</a> · <a href="LICENSE">MIT</a> · <a href="CONTRIBUTING.en.md">C - Network accessline 316
[Ilya Utov](https://github.com/ilyautov), the [AI Frontier](https://aifrontier.tech) lab. I write about how these tools work inside on [Telegram](https://t.me/gorilla_under_hood) and [LinkedIn](https://www.linkedin.com/in/ilyautov). - Network accessline 320
- [**humanizer-ru**](https://github.com/ilyautov/humanizer-ru): strips the AI fingerprint out of Russian text - Network accessline 321
- [**marketplaces-mcp-ru**](https://github.com/ilyautov/marketplaces-mcp-ru): Wildberries, Ozon, Yandex Market and Avito straight from the agent - Network accessline 322
- [**small-business-ru**](https://github.com/ilyautov/small-business-ru): 34 skills for Russian small business, the numbers computed in code - Network accessline 323
- [**hefest**](https://github.com/ilyautov/hefest): chemical safety for an industrial plant, kept inside the plant's own network - Network accessline 324
- [**cordon**](https://github.com/ilyautov/cordon): a deterministic layer between untrusted content and agent actions - Network accessline 326
Everything in one list, grouped by what it does: [ilyautov.github.io](https://ilyautov.github.io/). Source: [github.com/ilyautov](https://github.com/ilyautov). Useful? Star it, that is how other people find it.
README.ru.md
- Network accessline 22
[](https://github.com/ilyautov/consilium-principis/actions/workflows/ci.yml) - Network accessline 23
[](LICENSE) - Network accessline 24
 - Network accessline 25
[](CHANGELOG.md) - Access to secretsline 109
[Credential-related source omitted] - Network accessline 130
Из реестра [skills.sh](https://www.skills.sh) одной командой ставится тонкая воронка-онбординг: - Network accessline 140
> «Поставь мне этот навык: `https://github.com/ilyautov/consilium-principis`» - Network accessline 146
git clone https://github.com/ilyautov/consilium-principis ~/consilium-principis - Network accessline 154
[Релиз](https://github.com/ilyautov/consilium-principis/releases/latest) отдаёт однофайловый - Network accessline 165
**Нужно только:** Python 3.10+. Для умного кросс-язычного поиска опционально [ollama](https://ollama.com) с `bge-m3` (совет сам подскажет, как поднять). Контур работает и без него. - Network accessline 251
<div align="center"> <sub>Consilium Principis · ранний доступ (v0.2.1) · <a href="https://github.com/ilyautov/consilium-principis/releases/download/v0.2.1/consilium-principis.mcpb">релизный пакет</a> · <a href="LICENSE">MIT</a> · <a href="C - Network accessline 252
<sub>Consilium Principis · ранний доступ (v0.2.1) · <a href="https://github.com/ilyautov/consilium-principis/releases/download/v0.2.1/consilium-principis.mcpb">релизный пакет</a> · <a href="LICENSE">MIT</a> · <a href="CONTRIBUTING.md">Contr
SECURITY.en.md
- Network accessline 7
**Do not open a public issue for vulnerabilities.** Report privately through [GitHub Security Advisories](https://github.com/ilyautov/consilium-principis/security/advisories/new) - Network accessline 8
[GitHub Security Advisories](https://github.com/ilyautov/consilium-principis/security/advisories/new) - Network accessline 57
**If you are a rights holder** and believe that material in our distribution (the seeded PD catalog) infringes your rights, open a public issue with the subject prefix `takedown:` in the [repository](https://github.com/ilyautov/consilium-pr - Network accessline 58
infringes your rights, open a public issue with the subject prefix `takedown:` in the [repository](https://github.com/ilyautov/consilium-principis/issues/new), stating: the material (figure id / URL), the basis of your rights, and a contact - Network accessline 59
[repository](https://github.com/ilyautov/consilium-principis/issues/new), stating: the material
SECURITY.md
- Network accessline 7
**Не открывайте публичный issue для уязвимостей.** Напишите приватно через [GitHub Security Advisories](https://github.com/ilyautov/consilium-principis/security/advisories/new) - Network accessline 8
[GitHub Security Advisories](https://github.com/ilyautov/consilium-principis/security/advisories/new) - Network accessline 53
**Если вы правообладатель** и считаете, что материал в нашей поставке (сеяный PD-каталог) нарушает ваши права, откройте публичный issue с префиксом темы `takedown:` в [репозитории](https://github.com/ilyautov/consilium-principis/issues/new) - Network accessline 54
ваши права, откройте публичный issue с префиксом темы `takedown:` в [репозитории](https://github.com/ilyautov/consilium-principis/issues/new), указав: материал (id фигуры / URL), основание прав, контакт. Разумный срок ответа несколько дней; - Network accessline 55
[репозитории](https://github.com/ilyautov/consilium-principis/issues/new), указав: материал (id
SKILL.md
- Access to secretsline 492
[Credential-related source omitted]
assets/logo-consilium-principis.svg
- Network accessline 1
<svg width="420" height="470" viewBox="0 0 420 470" xmlns="http://www.w3.org/2000/svg" role="img" aria-label="Consilium Principis emblem">
catalog/pd_figures.json
- Network accessline 11
"ref": "2680", "edition": "пер. George Long, 1862", "url": "https://www.gutenberg.org/cache/epub/2680/pg2680.txt", - Network accessline 12
"edition": "пер. George Long, 1862", "url": "https://www.gutenberg.org/cache/epub/2680/pg2680.txt", "pd_basis": "Project Gutenberg (US-PD)", - Network accessline 13
"url": "https://www.gutenberg.org/cache/epub/2680/pg2680.txt", - Network accessline 38
"ref": "45109", "edition": "Enchiridion, пер. Long", "url": "https://www.gutenberg.org/cache/epub/45109/pg45109.txt", - Network accessline 39
"edition": "Enchiridion, пер. Long", "url": "https://www.gutenberg.org/cache/epub/45109/pg45109.txt", "pd_basis": "Project Gutenberg (US-PD)", - Network accessline 40
"url": "https://www.gutenberg.org/cache/epub/45109/pg45109.txt", - Network accessline 65
"ref": "132", "edition": "The Art of War, пер. Lionel Giles 1910", "url": "https://www.gutenberg.org/cache/epub/132/pg132.txt", - Network accessline 66
"edition": "The Art of War, пер. Lionel Giles 1910", "url": "https://www.gutenberg.org/cache/epub/132/pg132.txt", "pd_basis": "Project Gutenberg (US-PD)", - Network accessline 67
"url": "https://www.gutenberg.org/cache/epub/132/pg132.txt", - Network accessline 92
"ref": "1232", "edition": "The Prince (Il Principe), пер. W. K. Marriott 1908", "url": "https://www.gutenberg.org/cache/epub/1232/pg1232.txt", - Network accessline 93
"edition": "The Prince (Il Principe), пер. W. K. Marriott 1908", "url": "https://www.gutenberg.org/cache/epub/1232/pg1232.txt", "pd_basis": "Project Gutenberg (US-PD)" - Network accessline 94
"url": "https://www.gutenberg.org/cache/epub/1232/pg1232.txt",
docs/CONNECT-HOSTS.en.md
docs/CONNECT-HOSTS.md
docs/PROJECT-LOG.md
- Dangerous shell operationline 62
авто-tier + eval (коммит `4804ddf`, handoff в Claude Code). Быстро оформились
docs/dev/mcp-registry-publish-runbook.md
docs/dev/registry-listings-runbook.md
- Network accessline 40
{ "$schema": "https://glama.ai/mcp/schemas/server.json", - Network accessline 41
"$schema": "https://glama.ai/mcp/schemas/server.json", - Network accessline 89
Model: users install with `gemini extensions install https://github.com/ilyautov/consilium-principis`. - Network accessline 116
1. Cut and release `vX.Y.Z` (tag-triggered workflow builds and uploads the MCPB + `server.json`). 2. Confirm the MCPB release URL resolves (`curl --fail --head …`). - Network accessline 117
2. Confirm the MCPB release URL resolves (`curl --fail --head …`).
docs/onboarding-recipe.en.md
- Dangerous shell operationline 73
> `git clone … /tmp/pb && rm -rf /tmp/pb/.git && cp -R /tmp/pb/. <folder>/`.
docs/onboarding-recipe.md
- Dangerous shell operationline 71
> `git clone … /tmp/pb && rm -rf /tmp/pb/.git && cp -R /tmp/pb/. <папка>/`.
docs/research/2026-06-26-digital-twins.md
- Dangerous shell operationline 20
## Угол 1 — Fidelity / eval (что внедрить в eval.py)
docs/research/2026-10-16-competitors.md
- Network accessline 3
К октябрю 2026 года «совет директоров из AI-персон» стал массовым форматом. Почти все механики, которые Consilium Principis считал своими, уже есть у кого-то из конкурентов. Кэп вердикта при риске разорения и принудительный спор при слишком - Network accessline 7
Коммерческий сегмент живой, но мелкий. Это в основном SaaS соло-основателей 2025–2026 годов с ценой **$15–99 в месяц** и почти нулевой проверяемой тягой. SynthBoard собирает борд из 24 ролей на разных семействах моделей. Его вердикт содержи - Network accessline 9
Open-source сегмент на порядок больше по вниманию, и именно там идёт настоящая конкуренция. Первый лагерь составляют **клоны LLM Council Карпати**. Исходный репозиторий набрал 25,5 тыс.★, заморожен с ноября 2025 года, автор прямо отказался - Network accessline 11
В четвёртом лагере стоит остановиться на трёх проектах. Первый — **roast-room**. В нём семь мест (Безос, Пол Грэм, Хормози, Гэри Ви, Мартелл, Уикман, Баффет), у каждого субагента свой «мозг» из фреймворков и позиций со списком источников. В - Network accessline 35
Источники по столбцам: [roast-room](https://github.com/nateherkai/roast-room), [marketing-council](https://github.com/coreyhaines31/marketingskills/blob/main/skills/marketing-council/SKILL.md), [dynamic-board-skill](https://github.com/ktfri - Network accessline 37
Из матрицы видно, что отличия Consilium неравноценны. **Несогласие, принудительный оппонент, вердикт с голосованием и экспорт стали отраслевым стандартом.** Их нет смысла выносить в позиционирование. **Кэпы вердикта, тревога единодушия и тр - Network accessline 43
Прямых отзывов о нише мало, и они в основном от строителей, а не конечных пользователей. Повторяются три вещи, которые людям нравятся: различимые голоса, настоящий спор, в том числе с пользователем, и видимая критика вместо отполированного - Network accessline 45
Главный риск для продукта, построенного на несогласии, лежит в исследовании подхалимства. В работе в *Science* (март 2026) 11 моделей одобряли позицию пользователя **на 49% чаще людей**, и при этом пользователи оценивали подхалимские ответы - Network accessline 47
Нужна и честная граница утверждений о точности. В HCI-работе CHI 2026 показано, что пользователи читают несогласие, критику и консенсус агентов как сигналы доверия, но **несогласный агент без обоснования добавляет неопределённость** ([ACM D - Network accessline 51
Право на образ почти не задевает дефолтный ростер (Сунь-цзы, Марк Аврелий, Эпиктет, Макиавелли). Посмертные законы привязаны к недавно умершим и к месту их проживания и нацелены на цифровые копии **голоса и визуального облика**. Калифорнийс - Network accessline 53
Риск у живых знаменитостей другой природы: ложное одобрение и товарные знаки. Иск Тони Роббинса против YesChat построен на зарегистрированных марках и ботах «Tony Robbins GPT», за общение с которыми брали подписку ([USA Herald](https://usah - Network accessline 55
Остаются два менее очевидных риска. Первый касается **современных переводов древних текстов**: они могут быть под авторским правом, поэтому корпус должен опираться на переводы в общественном достоянии (вроде Long для «Размышлений», как уже - Network accessline 57
Сходится всё это в одном: **маркер 🔵/🟡 одновременно служит юридическим механизмом**. Калифорнийское исключение теряется при «ложном впечатлении подлинности». Публичный провал приложения Historical Figures, где бот Гиммлера «раскаивался», сл - Network accessline 61
Отставания Consilium лежат не в механиках решения, а вокруг них. Первое — **дистрибуция**. marketing-council с 41 тыс. установок и nuwa с 26 тыс. распространяются одной командой через skills.sh или `npx skills add` ([skills.sh](https://skil - Network accessline 68
|---|---|---|---| | P0 | Серверный финальный рендер: перед выдачей вычищать любой 🔵 без подтверждения гейта на этой строке (понижать до 🟡) | Ров сейчас зависит от того, чтит ли хост протокол (LIMITATIONS §2); стоит одному хосту нарушить раз - Network accessline 69
| P0 | Серверный финальный рендер: перед выдачей вычищать любой 🔵 без подтверждения гейта на этой строке (понижать до 🟡) | Ров сейчас зависит от того, чтит ли хост протокол (LIMITATIONS §2); стоит одному хосту нарушить разметку, как обещани - Dangerous shell operationline 70
| P0 | Публичный бенчмарк верности: атомарный eval (точность и консистентность), кривая воздержания против ложных отказов, атрибуционный тест «цитата Аврелия в устах Эпиктета → отказ» | Превращает главное отличие из заявления в проверяемое - Network accessline 70
| P0 | Публичный бенчмарк верности: атомарный eval (точность и консистентность), кривая воздержания против ложных отказов, атрибуционный тест «цитата Аврелия в устах Эпиктета → отказ» | Превращает главное отличие из заявления в проверяемое - Network accessline 71
| P0 | Аудит прав на корпус: каждая цитируемая редакция и перевод с пометкой о статусе общественного достояния в манифесте; выдача источника и издания в 🔵 | Современные переводы могут быть под авторским правом; Bartz показал, что риск созда - Network accessline 72
| P0 | Обязательная плашка «AI-симуляция по текстам X; не X; не одобрено X или наследниками» в UI и во всех экспортах; запрет голоса и аватаров реальных людей в коде; запрет персон частных лиц и несовершеннолетних; контакт для takedown | EU - Network accessline 73
| P1 | Лёгкая версия на skills.sh (`npx skills add`), которая без MCP-сервера деградирует до режима «только 🟡 и отказ цитировать», и честная поправка таблицы в README | 41 тыс. установок у одиночного SKILL.md против маркетплейса; сравнение - Network accessline 74
| P1 | Самодостаточный отчёт сессии в HTML/PDF/MD, независимый от виджетов хоста: стол советников, 🔵 с источником, вердикт, кэпы, особое мнение, карта решения и распределение Монте-Карло | Стандарт рынка (roast-room, SynthBoard); сейчас выв - Network accessline 75
| P1 | Режимы стоимости: `quick` (2–3 места, 1 раунд, жёсткий лимит длины реплик) и `full` с предупреждением о числе вызовов; уточняющие вопросы до заседания | Стоимость и многословие — главные жалобы; уточнение до старта есть у Moot и Synt - Network accessline 76
| P1 | Мастер «линза из моих материалов»: папка PDF/EPUB → манифест прав → корпус → индекс → профиль с оценкой глубины (deep/good/thin) и разделом «где линза ошибается»; линза получает описательное имя, а не имя-бренд | Спрос доказан nuwa/D - Network accessline 77
| P1 | Обоснование у каждого несогласия обязательно, вердикт проверяется кодом; отображение уверенности и условий «что перевернёт решение» | Несогласие без обоснования снижает доверие, а не повышает | [ACM DL](https://dl.acm.org/doi/10.1145 - Network accessline 78
| P2 | Напоминание петли исхода по таймеру (follow-up через N недель) и холодный старт трек-рекорда с явной пометкой «мало данных» | У Peabody и dynamic-board эта механика уже есть; без напоминания журнал пустеет, и калибровка не стартует | - Network accessline 79
| P2 | Независимый судья другого вендора по умолчанию, если в системе найдено больше одной CLI-подписки; позиционировать как независимость проверки, а не как рост точности | Литература не подтверждает, что смешение вендоров повышает точност - Network accessline 80
| P2 | Аудит безопасности MCP-сервера и любого локального веб-UI (CSRF, DNS rebinding, экранирование) | У roast-room такие уязвимости уже открыты как issues; у продукта с подписками пользователя цена ошибки выше | [roast-room issues](https: - Network accessline 81
| P3 | Осторожная фрейминг-копия для онбординга: «совет обязан возражать», без обещаний комфорта | Пользователи вознаграждают подхалимство; нужно заранее задать ожидания | [Stanford News](https://news.stanford.edu/stories/2026/03/ai-advice-
glama.json
install.bat
- Executable scriptline 1
Executable file - Network accessline 18
if not defined CONSILIUM_PYTHON ( echo Python 3.10+ was not found. Install it from https://www.python.org/downloads/ and run this launcher again. - Network accessline 19
echo Python 3.10+ was not found. Install it from https://www.python.org/downloads/ and run this launcher again.
install.command
- Executable scriptline 1
#!/bin/bash
install.py
- Executable scriptline 1
#!/usr/bin/env python3 - Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 38
_MSG = { "ru": { "need_py": "❌ Нужен Python 3.10+, сейчас {ver}. Поставь с https://python.org.", - Network accessline 38
_MSG = { "ru": { "need_py": "❌ Нужен Python 3.10+, сейчас {ver}. Поставь с https://python.org.", - Network accessline 39
"ru": { "need_py": "❌ Нужен Python 3.10+, сейчас {ver}. Поставь с https://python.org.", "src": "Источник: {here}", "dst": "Назначение: {dest} ({mode})", - Network accessline 39
"ru": { "need_py": "❌ Нужен Python 3.10+, сейчас {ver}. Поставь с https://python.org.", "src": "Источник: {here}", "dst": "Назначение: {dest} ({mode})", - Network accessline 40
"need_py": "❌ Нужен Python 3.10+, сейчас {ver}. Поставь с https://python.org.", - Network accessline 40
"need_py": "❌ Нужен Python 3.10+, сейчас {ver}. Поставь с https://python.org.", - Network accessline 82
}, "en": { "need_py": "❌ Python 3.10+ required, currently {ver}. Install from https://python.org.", - Network accessline 82
}, "en": { "need_py": "❌ Python 3.10+ required, currently {ver}. Install from https://python.org.", - Network accessline 83
"en": { "need_py": "❌ Python 3.10+ required, currently {ver}. Install from https://python.org.", "src": "Source: {here}", "dst": "Destination: {dest} ({mode})", - Network accessline 83
"en": { "need_py": "❌ Python 3.10+ required, currently {ver}. Install from https://python.org.", "src": "Source: {here}", "dst": "Destination: {dest} ({mode})", - Network accessline 84
"need_py": "❌ Python 3.10+ required, currently {ver}. Install from https://python.org.", - Network accessline 84
"need_py": "❌ Python 3.10+ required, currently {ver}. Install from https://python.org.",
install.sh
- Executable scriptline 1
#!/bin/bash
lenses/strategist/sources/manifest.json
- Network accessline 5
"translator": "Lionel Giles (1910)", "license": "public-domain", "origin": "https://www.gutenberg.org/ebooks/132", - Network accessline 6
"license": "public-domain", "origin": "https://www.gutenberg.org/ebooks/132", "note": "Дословные стихи-афоризмы (Giles). Канон дисциплины-стратегии, не персона.", - Network accessline 7
"origin": "https://www.gutenberg.org/ebooks/132",
manifest.json
- Network accessline 9
"email": "ilyautov@gmail.com" }, "homepage": "https://github.com/ilyautov/consilium-principis", - Network accessline 10
}, "homepage": "https://github.com/ilyautov/consilium-principis", "repository": { - Network accessline 11
"homepage": "https://github.com/ilyautov/consilium-principis", - Network accessline 12
"repository": { "type": "git", "url": "https://github.com/ilyautov/consilium-principis" - Network accessline 13
"type": "git", "url": "https://github.com/ilyautov/consilium-principis" }, - Network accessline 14
"url": "https://github.com/ilyautov/consilium-principis"
package-lock.json
- Network accessline 12
"node_modules/@anthropic-ai/mcpb": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/@anthropic-ai/mcpb/-/mcpb-2.1.2.tgz", - Network accessline 13
"version": "2.1.2", "resolved": "https://registry.npmjs.org/@anthropic-ai/mcpb/-/mcpb-2.1.2.tgz", "integrity": "sha512-goRbBC8ySo7SWb7tRzr+tL6FxDc4JPTRCdgfD2omba7freofvjq5rom1lBnYHZHo6Mizs1jAHJeN53aZbDoy8A==", - Network accessline 14
"resolved": "https://registry.npmjs.org/@anthropic-ai/mcpb/-/mcpb-2.1.2.tgz", - Network accessline 33
"node_modules/@inquirer/checkbox": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/@inquirer/checkbox/-/checkbox-3.0.1.tgz", - Network accessline 34
"version": "3.0.1", "resolved": "https://registry.npmjs.org/@inquirer/checkbox/-/checkbox-3.0.1.tgz", "integrity": "sha512-0hm2nrToWUdD6/UHnel/UKGdk1//ke5zGUpHIvk5ZWmaKezlGxZkOJXNSWsdxO/rEqTkbB3lNC2J6nBElV2aAQ==", - Network accessline 35
"resolved": "https://registry.npmjs.org/@inquirer/checkbox/-/checkbox-3.0.1.tgz", - Network accessline 50
"node_modules/@inquirer/confirm": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/@inquirer/confirm/-/confirm-4.0.1.tgz", - Network accessline 51
"version": "4.0.1", "resolved": "https://registry.npmjs.org/@inquirer/confirm/-/confirm-4.0.1.tgz", "integrity": "sha512-46yL28o2NJ9doViqOy0VDcoTzng7rAb6yPQKU7VDLqkmbCaH4JqK4yk4XqlzNWy9PVC5pG1ZUXPBQv+VqnYs2w==", - Network accessline 52
"resolved": "https://registry.npmjs.org/@inquirer/confirm/-/confirm-4.0.1.tgz", - Network accessline 64
"node_modules/@inquirer/core": { "version": "9.2.1", "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-9.2.1.tgz", - Network accessline 65
"version": "9.2.1", "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-9.2.1.tgz", "integrity": "sha512-F2VBt7W/mwqEU4bL0RnHNZmC/OxzNx9cOYxHqnXX3MP6ruYvZUZAW9imgN9+h/uBT/oP8Gh888J2OZSbjSeWcg==", - Network accessline 66
"resolved": "https://registry.npmjs.org/@inquirer/core/-/core-9.2.1.tgz", - Network accessline 88
"node_modules/@inquirer/editor": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/@inquirer/editor/-/editor-3.0.1.tgz", - Network accessline 89
"version": "3.0.1", "resolved": "https://registry.npmjs.org/@inquirer/editor/-/editor-3.0.1.tgz", "integrity": "sha512-VA96GPFaSOVudjKFraokEEmUQg/Lub6OXvbIEZU1SDCmBzRkHGhxoFAVaF30nyiB4m5cEbDgiI2QRacXZ2hw9Q==", - Network accessline 90
"resolved": "https://registry.npmjs.org/@inquirer/editor/-/editor-3.0.1.tgz", - Network accessline 103
"node_modules/@inquirer/expand": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/@inquirer/expand/-/expand-3.0.1.tgz", - Network accessline 104
"version": "3.0.1", "resolved": "https://registry.npmjs.org/@inquirer/expand/-/expand-3.0.1.tgz", "integrity": "sha512-ToG8d6RIbnVpbdPdiN7BCxZGiHOTomOX94C2FaT5KOHupV40tKEDozp12res6cMIfRKrXLJyexAZhWVHgbALSQ==", - Network accessline 105
"resolved": "https://registry.npmjs.org/@inquirer/expand/-/expand-3.0.1.tgz", - Network accessline 118
"node_modules/@inquirer/figures": { "version": "1.0.15", "resolved": "https://registry.npmjs.org/@inquirer/figures/-/figures-1.0.15.tgz", - Network accessline 119
"version": "1.0.15", "resolved": "https://registry.npmjs.org/@inquirer/figures/-/figures-1.0.15.tgz", "integrity": "sha512-t2IEY+unGHOzAaVM5Xx6DEWKeXlDDcNPeDyUpsRc6CUhBfU3VQOEl+Vssh7VNp1dR8MdUJBWhuObjXCsVpjN5g==", - Network accessline 120
"resolved": "https://registry.npmjs.org/@inquirer/figures/-/figures-1.0.15.tgz", - Network accessline 128
"node_modules/@inquirer/input": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/@inquirer/input/-/input-3.0.1.tgz", - Network accessline 129
"version": "3.0.1", "resolved": "https://registry.npmjs.org/@inquirer/input/-/input-3.0.1.tgz", "integrity": "sha512-BDuPBmpvi8eMCxqC5iacloWqv+5tQSJlUafYWUe31ow1BVXjW2a5qe3dh4X/Z25Wp22RwvcaLCc2siHobEOfzg==", - Network accessline 130
"resolved": "https://registry.npmjs.org/@inquirer/input/-/input-3.0.1.tgz", - Network accessline 142
"node_modules/@inquirer/number": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/@inquirer/number/-/number-2.0.1.tgz", - Network accessline 143
"version": "2.0.1", "resolved": "https://registry.npmjs.org/@inquirer/number/-/number-2.0.1.tgz", "integrity": "sha512-QpR8jPhRjSmlr/mD2cw3IR8HRO7lSVOnqUvQa8scv1Lsr3xoAMMworcYW3J13z3ppjBFBD2ef1Ci6AE5Qn8goQ==", - Network accessline 144
"resolved": "https://registry.npmjs.org/@inquirer/number/-/number-2.0.1.tgz", - Network accessline 156
[Credential-related source omitted] - Network accessline 157
"version": "3.0.1", "resolved": "https://registry.npmjs.org/@inquirer/password/-/password-3.0.1.tgz", "integrity": "sha512-haoeEPUisD1NeE2IanLOiFr4wcTXGWrBOyAyPZi1FfLJuXOzNmxCJPgUrGYKVh+Y8hfGJenIfz5Wb/DkE9KkMQ==", - Network accessline 158
"resolved": "https://registry.npmjs.org/@inquirer/password/-/password-3.0.1.tgz", - Network accessline 171
"node_modules/@inquirer/prompts": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/@inquirer/prompts/-/prompts-6.0.1.tgz", - Network accessline 172
"version": "6.0.1", "resolved": "https://registry.npmjs.org/@inquirer/prompts/-/prompts-6.0.1.tgz", "integrity": "sha512-yl43JD/86CIj3Mz5mvvLJqAOfIup7ncxfJ0Btnl0/v5TouVUyeEdcpknfgc+yMevS/48oH9WAkkw93m7otLb/A==", - Network accessline 173
"resolved": "https://registry.npmjs.org/@inquirer/prompts/-/prompts-6.0.1.tgz", - Network accessline 193
"node_modules/@inquirer/rawlist": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/@inquirer/rawlist/-/rawlist-3.0.1.tgz", - Network accessline 194
"version": "3.0.1", "resolved": "https://registry.npmjs.org/@inquirer/rawlist/-/rawlist-3.0.1.tgz", "integrity": "sha512-VgRtFIwZInUzTiPLSfDXK5jLrnpkuSOh1ctfaoygKAdPqjcjKYmGh6sCY1pb0aGnCGsmhUxoqLDUAU0ud+lGXQ==", - Network accessline 195
"resolved": "https://registry.npmjs.org/@inquirer/rawlist/-/rawlist-3.0.1.tgz", - Network accessline 208
"node_modules/@inquirer/search": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/@inquirer/search/-/search-2.0.1.tgz", - Network accessline 209
"version": "2.0.1", "resolved": "https://registry.npmjs.org/@inquirer/search/-/search-2.0.1.tgz", "integrity": "sha512-r5hBKZk3g5MkIzLVoSgE4evypGqtOannnB3PKTG9NRZxyFRKcfzrdxXXPcoJQsxJPzvdSU2Rn7pB7lw0GCmGAg==", - Network accessline 210
"resolved": "https://registry.npmjs.org/@inquirer/search/-/search-2.0.1.tgz", - Network accessline 224
"node_modules/@inquirer/select": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/@inquirer/select/-/select-3.0.1.tgz", - Network accessline 225
"version": "3.0.1", "resolved": "https://registry.npmjs.org/@inquirer/select/-/select-3.0.1.tgz", "integrity": "sha512-lUDGUxPhdWMkN/fHy1Lk7pF3nK1fh/gqeyWXmctefhxLYxlDsc7vsPBEpxrfVGDsVdyYJsiJoD4bJ1b623cV1Q==", - Network accessline 226
"resolved": "https://registry.npmjs.org/@inquirer/select/-/select-3.0.1.tgz", - Network accessline 241
"node_modules/@inquirer/type": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-2.0.0.tgz", - Network accessline 242
"version": "2.0.0", "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-2.0.0.tgz", "integrity": "sha512-XvJRx+2KR3YXyYtPUUy+qd9i7p+GO9Ko6VIIpWlBrpWwXDv8WLFeHTxz35CfQFUiBMLXlGHhGzys7lqit9gWag==", - Network accessline 243
"resolved": "https://registry.npmjs.org/@inquirer/type/-/type-2.0.0.tgz", - Network accessline 254
"node_modules/@types/mute-stream": { "version": "0.0.4", "resolved": "https://registry.npmjs.org/@types/mute-stream/-/mute-stream-0.0.4.tgz", - Network accessline 255
"version": "0.0.4", "resolved": "https://registry.npmjs.org/@types/mute-stream/-/mute-stream-0.0.4.tgz", "integrity": "sha512-CPM9nzrCPPJHQNA9keH9CVkVI+WR5kMa+7XEs5jcGQ0VoAGnLv242w8lIVgwAEfmE4oufJRaTc9PNLQl0ioAow==", - Network accessline 256
"resolved": "https://registry.npmjs.org/@types/mute-stream/-/mute-stream-0.0.4.tgz", - Network accessline 264
"node_modules/@types/node": { "version": "22.20.1", "resolved": "https://registry.npmjs.org/@types/node/-/node-22.20.1.tgz", - Network accessline 265
"version": "22.20.1", "resolved": "https://registry.npmjs.org/@types/node/-/node-22.20.1.tgz", "integrity": "sha512-EANqOCF9QFyra+4pfxUcX9STKJpCLjMbObVzljIJomAWSnuSIEAvyzEU53GaajbXJEgdh0iEcPL+DGvpUd4k1Q==", - Network accessline 266
"resolved": "https://registry.npmjs.org/@types/node/-/node-22.20.1.tgz", - Network accessline 274
"node_modules/@types/wrap-ansi": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/@types/wrap-ansi/-/wrap-ansi-3.0.0.tgz", - Network accessline 275
"version": "3.0.0", "resolved": "https://registry.npmjs.org/@types/wrap-ansi/-/wrap-ansi-3.0.0.tgz", "integrity": "sha512-ltIpx+kM7g/MLRZfkbL7EsCEjfzCcScLpkg37eXEtx5kmrAKBkTJwd1GIAjDSL8wTpM6Hzn5YO4pSb91BEwu1g==", - Network accessline 276
"resolved": "https://registry.npmjs.org/@types/wrap-ansi/-/wrap-ansi-3.0.0.tgz", - Network accessline 281
"node_modules/ansi-escapes": { "version": "4.3.2", "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - Network accessline 282
"version": "4.3.2", "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", - Network accessline 283
"resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - Network accessline 292
}, "funding": { "url": "https://github.com/sponsors/sindresorhus" - Network accessline 293
"funding": { "url": "https://github.com/sponsors/sindresorhus" } - Network accessline 294
"url": "https://github.com/sponsors/sindresorhus" - Network accessline 297
"node_modules/ansi-regex": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - Network accessline 298
"version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - Network accessline 299
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - Network accessline 307
"node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - Network accessline 308
"version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - Network accessline 309
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - Network accessline 318
}, "funding": { "url": "https://github.com/chalk/ansi-styles?sponsor=1" - Network accessline 319
"funding": { "url": "https://github.com/chalk/ansi-styles?sponsor=1" } - Network accessline 320
"url": "https://github.com/chalk/ansi-styles?sponsor=1" - Network accessline 323
"node_modules/chardet": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - Network accessline 324
"version": "0.7.0", "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", - Network accessline 325
"resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - Network accessline 330
"node_modules/cli-width": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-4.1.0.tgz", - Network accessline 331
"version": "4.1.0", "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-4.1.0.tgz", "integrity": "sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==", - Network accessline 332
"resolved": "https://registry.npmjs.org/cli-width/-/cli-width-4.1.0.tgz", - Network accessline 340
"node_modules/color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - Network accessline 341
"version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - Network accessline 342
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - Network accessline 353
"node_modules/color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - Network accessline 354
"version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - Network accessline 355
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - Network accessline 360
"node_modules/commander": { "version": "13.1.0", "resolved": "https://registry.npmjs.org/commander/-/commander-13.1.0.tgz", - Network accessline 361
"version": "13.1.0", "resolved": "https://registry.npmjs.org/commander/-/commander-13.1.0.tgz", "integrity": "sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw==", - Network accessline 362
"resolved": "https://registry.npmjs.org/commander/-/commander-13.1.0.tgz", - Network accessline 370
"node_modules/debug": { "version": "4.4.3", "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", - Network accessline 371
"version": "4.4.3", "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", - Network accessline 372
"resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", - Network accessline 388
"node_modules/emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - Network accessline 389
"version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - Network accessline 390
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - Network accessline 395
"node_modules/external-editor": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", - Network accessline 396
"version": "3.1.0", "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", - Network accessline 397
"resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", - Network accessline 410
"node_modules/fflate": { "version": "0.8.3", "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.8.3.tgz", - Network accessline 411
"version": "0.8.3", "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.8.3.tgz", "integrity": "sha512-tbZNuJrLwGUp3zshBtdy4W+ORxZuIh8a5ilyIEQDC5rY1f3U20JMry0Ll3WBzU58EZKsEuJFXhb5gwv8CsPvgA==", - Network accessline 412
"resolved": "https://registry.npmjs.org/fflate/-/fflate-0.8.3.tgz", - Network accessline 417
"node_modules/flora-colossus": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/flora-colossus/-/flora-colossus-2.0.0.tgz", - Network accessline 418
"version": "2.0.0", "resolved": "https://registry.npmjs.org/flora-colossus/-/flora-colossus-2.0.0.tgz", "integrity": "sha512-dz4HxH6pOvbUzZpZ/yXhafjbR2I8cenK5xL0KtBFb7U2ADsR+OwXifnxZjij/pZWF775uSCMzWVd+jDik2H2IA==", - Network accessline 419
"resolved": "https://registry.npmjs.org/flora-colossus/-/flora-colossus-2.0.0.tgz", - Network accessline 431
"node_modules/fs-extra": { "version": "10.1.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", - Network accessline 432
"version": "10.1.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", - Network accessline 433
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", - Network accessline 446
"node_modules/galactus": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/galactus/-/galactus-1.0.0.tgz", - Network accessline 447
"version": "1.0.0", "resolved": "https://registry.npmjs.org/galactus/-/galactus-1.0.0.tgz", "integrity": "sha512-R1fam6D4CyKQGNlvJne4dkNF+PvUUl7TAJInvTGa9fti9qAv95quQz29GXapA4d8Ec266mJJxFVh82M4GIIGDQ==", - Network accessline 448
"resolved": "https://registry.npmjs.org/galactus/-/galactus-1.0.0.tgz", - Network accessline 461
"node_modules/graceful-fs": { "version": "4.2.11", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - Network accessline 462
"version": "4.2.11", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - Network accessline 463
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - Network accessline 468
"node_modules/iconv-lite": { "version": "0.4.24", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - Network accessline 469
"version": "0.4.24", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - Network accessline 470
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - Network accessline 481
"node_modules/ignore": { "version": "7.0.6", "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.6.tgz", - Network accessline 482
"version": "7.0.6", "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.6.tgz", "integrity": "sha512-BAg6QkE8W+TuQLrrw0Ugr7HegXduRuuj8/ti2kSOc+jz1dmx8/WNcjr6XGnq5YpDWxFwwaavqD0+jIUOKelTsw==", - Network accessline 483
"resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.6.tgz", - Network accessline 491
"node_modules/is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - Network accessline 492
"version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQ - Network accessline 493
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - Network accessline 501
"node_modules/jsonfile": { "version": "6.2.1", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.1.tgz", - Network accessline 502
"version": "6.2.1", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.1.tgz", "integrity": "sha512-zwOTdL3rFQ/lRdBnntKVOX6k5cKJwEc1HdilT71BWEu7J41gXIB2MRp+vxduPSwZJPWBxEzv4yH1wYLJGUHX4Q==", - Network accessline 503
"resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.1.tgz", - Network accessline 514
"node_modules/ms": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - Network accessline 515
"version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - Network accessline 516
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - Network accessline 521
"node_modules/mute-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-1.0.0.tgz", - Network accessline 522
"version": "1.0.0", "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-1.0.0.tgz", "integrity": "sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==", - Network accessline 523
"resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-1.0.0.tgz", - Network accessline 531
"node_modules/node-forge": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.4.0.tgz", - Network accessline 532
"version": "1.4.0", "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.4.0.tgz", "integrity": "sha512-LarFH0+6VfriEhqMMcLX2F7SwSXeWwnEAJEsYm5QKWchiVYVvJyV9v7UDvUv+w5HO23ZpQTXDv/GxdDdMyOuoQ==", - Network accessline 533
"resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.4.0.tgz", - Network accessline 541
"node_modules/pretty-bytes": { "version": "5.6.0", "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", - Network accessline 542
"version": "5.6.0", "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", - Network accessline 543
"resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", - Network accessline 549
}, "funding": { "url": "https://github.com/sponsors/sindresorhus" - Network accessline 550
"funding": { "url": "https://github.com/sponsors/sindresorhus" } - Network accessline 551
"url": "https://github.com/sponsors/sindresorhus" - Network accessline 554
"node_modules/safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - Network accessline 555
"version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - Network accessline 556
"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - Network accessline 561
"node_modules/signal-exit": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - Network accessline 562
"version": "4.1.0", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", - Network accessline 563
"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - Network accessline 569
}, "funding": { "url": "https://github.com/sponsors/isaacs" - Network accessline 570
"funding": { "url": "https://github.com/sponsors/isaacs" } - Network accessline 571
"url": "https://github.com/sponsors/isaacs" - Network accessline 574
"node_modules/string-width": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - Network accessline 575
"version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - Network accessline 576
"resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - Network accessline 589
"node_modules/strip-ansi": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - Network accessline 590
"version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - Network accessline 591
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - Network accessline 602
"node_modules/tmp": { "version": "0.2.7", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.7.tgz", - Network accessline 603
"version": "0.2.7", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.7.tgz", "integrity": "sha512-e0votIpp4Uo2AJYSzVHV6xCcawuiez3DzqDAbrTc3YxBkplN6e+dM13ZeIcZnDg/QpSuU2zfZ3rzwY8ukEnaXw==", - Network accessline 604
"resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.7.tgz", - Network accessline 612
"node_modules/type-fest": { "version": "0.21.3", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - Network accessline 613
"version": "0.21.3", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", - Network accessline 614
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - Network accessline 620
}, "funding": { "url": "https://github.com/sponsors/sindresorhus" - Network accessline 621
"funding": { "url": "https://github.com/sponsors/sindresorhus" } - Network accessline 622
"url": "https://github.com/sponsors/sindresorhus" - Network accessline 625
"node_modules/undici-types": { "version": "6.21.0", "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", - Network accessline 626
"version": "6.21.0", "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", - Network accessline 627
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", - Network accessline 632
"node_modules/universalify": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", - Network accessline 633
"version": "2.0.1", "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", - Network accessline 634
"resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", - Network accessline 642
"node_modules/wrap-ansi": { "version": "6.2.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - Network accessline 643
"version": "6.2.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - Network accessline 644
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - Network accessline 657
"node_modules/yoctocolors-cjs": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/yoctocolors-cjs/-/yoctocolors-cjs-2.1.3.tgz", - Network accessline 658
"version": "2.1.3", "resolved": "https://registry.npmjs.org/yoctocolors-cjs/-/yoctocolors-cjs-2.1.3.tgz", "integrity": "sha512-U/PBtDf35ff0D8X8D0jfdzHYEPFxAI7jJlxZXwCSez5M3190m+QobIfh+sWDWSHMCWWJN2AWamkegn6vr6YBTw==", - Network accessline 659
"resolved": "https://registry.npmjs.org/yoctocolors-cjs/-/yoctocolors-cjs-2.1.3.tgz", - Network accessline 665
}, "funding": { "url": "https://github.com/sponsors/sindresorhus" - Network accessline 666
"funding": { "url": "https://github.com/sponsors/sindresorhus" } - Network accessline 667
"url": "https://github.com/sponsors/sindresorhus" - Network accessline 670
"node_modules/zod": { "version": "3.25.76", "resolved": "https://registry.npmjs.org/zod/-/zod-3.25.76.tgz", - Network accessline 671
"version": "3.25.76", "resolved": "https://registry.npmjs.org/zod/-/zod-3.25.76.tgz", "integrity": "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==", - Network accessline 672
"resolved": "https://registry.npmjs.org/zod/-/zod-3.25.76.tgz", - Network accessline 675
"license": "MIT", "funding": { "url": "https://github.com/sponsors/colinhacks" - Network accessline 676
"funding": { "url": "https://github.com/sponsors/colinhacks" } - Network accessline 677
"url": "https://github.com/sponsors/colinhacks" - Network accessline 680
"node_modules/zod-to-json-schema": { "version": "3.25.2", "resolved": "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.25.2.tgz", - Network accessline 681
"version": "3.25.2", "resolved": "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.25.2.tgz", "integrity": "sha512-O/PgfnpT1xKSDeQYSCfRI5Gy3hPf91mKVDuYLUHZJMiDFptvP41MSnWofm8dnCm0256ZNfZIM7DSzuSMAFnjHA==", - Network accessline 682
"resolved": "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.25.2.tgz",
package.json
- Executable scriptline 1
Executable file
pyproject.toml
- Network accessline 36
[project.urls] Homepage = "https://github.com/ilyautov/consilium-principis" - Network accessline 37
Homepage = "https://github.com/ilyautov/consilium-principis" - Network accessline 38
Repository = "https://github.com/ilyautov/consilium-principis" - Network accessline 39
Manual = "https://github.com/ilyautov/consilium-principis/blob/master/docs/MANUAL.md" - Network accessline 40
Security = "https://github.com/ilyautov/consilium-principis/blob/master/SECURITY.md" - Network accessline 43
testpaths = ["tests"] # Оффлайн-инвариант CI задаётся окружением, а не здесь: # OLLAMA_HOST=http://127.0.0.1:59999 python3 -m pytest tests/ -q - Network accessline 45
# OLLAMA_HOST=http://127.0.0.1:59999 python3 -m pytest tests/ -q
scripts/abstention_curve.py
- Executable scriptline 1
#!/usr/bin/env python3
scripts/adversarial_loop.py
- Executable scriptline 1
#!/usr/bin/env python3
scripts/advisor_calibration.py
- Executable scriptline 1
#!/usr/bin/env python3
scripts/atomic.py
- Executable scriptline 1
#!/usr/bin/env python3
scripts/board.py
scripts/board_init.py
scripts/bootstrap_eval.py
scripts/build_advisor.py
- Executable scriptline 1
#!/usr/bin/env python3
scripts/build_manual.py
- Executable scriptline 1
#!/usr/bin/env python3
scripts/build_orchestrator.py
- Executable scriptline 1
#!/usr/bin/env python3
scripts/calc_render.py
- Executable scriptline 1
#!/usr/bin/env python3
scripts/calibrate_advisor.py
- Executable scriptline 1
#!/usr/bin/env python3
scripts/calibrated_consult.py
- Executable scriptline 1
#!/usr/bin/env python3
scripts/calibration.py
- Executable scriptline 1
#!/usr/bin/env python3
scripts/catalog.py
- Executable scriptline 1
Executable file - Network accessline 189
return {"ok": False, "error": f"нет фигуры '{ref}' в каталоге"} try: raw = _decode(fetch(r["url"])) - Network accessline 190
try: raw = _decode(fetch(r["url"])) except Exception as e: - Network accessline 191
raw = _decode(fetch(r["url"])) - Network accessline 209
return {"ok": False, "error": "не-PD хост требует license=public-domain (подтверди PD-статус сам)"} try: raw = _decode(fetch(r["url"])) - Network accessline 210
try: raw = _decode(fetch(r["url"])) except Exception as e: - Network accessline 211
raw = _decode(fetch(r["url"])) - Network accessline 242
src = fig.get("source", {}) try: stripped = strip_for_signature(_decode(fetch(src["url"]))) - Network accessline 243
try: stripped = strip_for_signature(_decode(fetch(src["url"]))) except Exception as e: - Network accessline 244
stripped = strip_for_signature(_decode(fetch(src["url"]))) - Network accessline 270
url = "https://gutendex.com/books?search=" + urllib.parse.quote(author) - Network accessline 271
try: data = json.loads(_decode(fetch(url))) except Exception as e: - Network accessline 272
data = json.loads(_decode(fetch(url)))
scripts/catalog_verify.py
- Executable scriptline 1
#!/usr/bin/env python3
scripts/ci_bundle_guard.py
- Executable scriptline 1
#!/usr/bin/env python3
scripts/cli_backends.py
- Executable scriptline 1
Executable file - Access to secretsline 26
[Credential-related source omitted] - Access to secretsline 28
[Credential-related source omitted] - Access to secretsline 81
[Credential-related source omitted] - Access to secretsline 82
[Credential-related source omitted] - Access to secretsline 98
[Credential-related source omitted] - Access to secretsline 101
[Credential-related source omitted] - Access to secretsline 103
[Credential-related source omitted] - Access to secretsline 132
[Credential-related source omitted] - Access to secretsline 194
[Credential-related source omitted] - Access to secretsline 201
[Credential-related source omitted]
scripts/collect_common.py
- Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 14
import os, re, sys, json, datetime import socket, ipaddress, ssl, http.client - Network accessline 15
import socket, ipaddress, ssl, http.client - Network accessline 156
if p.query: path += "?" + p.query raw_sock = socket.create_connection((ip, port), timeout=timeout) - Network accessline 157
path += "?" + p.query raw_sock = socket.create_connection((ip, port), timeout=timeout) try: - Network accessline 158
raw_sock = socket.create_connection((ip, port), timeout=timeout) - Network accessline 160
sock = (ssl.create_default_context().wrap_socket(raw_sock, server_hostname=host) if p.scheme == "https" else raw_sock) # SNI=host → серт валидится по host conn = http.client.HTTPConnection(host, port, ti - Network accessline 161
if p.scheme == "https" else raw_sock) # SNI=host → серт валидится по host conn = http.client.HTTPConnection(host, port, timeout=timeout) conn.sock = sock # коннект уже - Network accessline 162
conn = http.client.HTTPConnection(host, port, timeout=timeout) - Network accessline 173
def fetch(url, timeout=30, allow_http=False, max_bytes=MAX_FETCH_BYTES):
scripts/collect_pd.py
- Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 9
Примеры: # «Размышления» Марка Аврелия, пер. George Long 1862 (Gutenberg #2680, public domain) python scripts/collect_pd.py advisors/marcus-aurelius --url https://www.gutenberg.org/cache/epub/2680/pg2680.txt - Network accessline 10
# «Размышления» Марка Аврелия, пер. George Long 1862 (Gutenberg #2680, public domain) python scripts/collect_pd.py advisors/marcus-aurelius --url https://www.gutenberg.org/cache/epub/2680/pg2680.txt python scripts/collect_pd.py advisors - Network accessline 11
python scripts/collect_pd.py advisors/marcus-aurelius --url https://www.gutenberg.org/cache/epub/2680/pg2680.txt - Network accessline 12
python scripts/collect_pd.py advisors/x --url https://en.wikisource.org/wiki/... --license public-domain - Network accessline 51
print(f"PD-сборка: {args.url}") try: raw = cc.fetch(args.url) - Network accessline 52
try: raw = cc.fetch(args.url) except Exception as e: - Network accessline 53
raw = cc.fetch(args.url)
scripts/collect_transcript.py
- Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 14
Примеры: python scripts/collect_transcript.py advisors/munger --youtube VIDEO_ID --personal-use python scripts/collect_transcript.py advisors/munger --url https://.../transcript --type page --personal-use - Network accessline 15
python scripts/collect_transcript.py advisors/munger --youtube VIDEO_ID --personal-use python scripts/collect_transcript.py advisors/munger --url https://.../transcript --type page --personal-use """ - Network accessline 16
python scripts/collect_transcript.py advisors/munger --url https://.../transcript --type page --personal-use - Network accessline 53
if args.youtube: url = f"https://www.youtube.com/watch?v={args.youtube}" - Network accessline 54
url = f"https://www.youtube.com/watch?v={args.youtube}" - Network accessline 57
elif args.url: url = args.url text = cc.html_to_text(cc.fetch(args.url)) - Network accessline 58
url = args.url text = cc.html_to_text(cc.fetch(args.url)) basename = args.name or cc.slugify(args.url.rsplit("/", 1)[-1] or "transcript") - Network accessline 59
text = cc.html_to_text(cc.fetch(args.url))
scripts/collect_web.py
- Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 14
Примеры: python scripts/collect_web.py advisors/naval --type essay --url https://nav.al/rich --personal-use - Network accessline 15
python scripts/collect_web.py advisors/naval --type essay --url https://nav.al/rich --personal-use - Network accessline 16
python scripts/collect_web.py advisors/x --type telegram --url https://t.me/s/durov --personal-use - Network accessline 53
print(f"web-сборка [{args.type}]: {args.url}") try: raw = cc.fetch(args.url) - Network accessline 54
try: raw = cc.fetch(args.url) except Exception as e: - Network accessline 55
raw = cc.fetch(args.url)
scripts/corpusbuild/__init__.py
- Executable scriptline 1
Executable file
scripts/corpusbuild/apparatus.py
- Executable scriptline 1
Executable file
scripts/corpusbuild/buildlock.py
- Executable scriptline 1
Executable file
scripts/corpusbuild/chunk.py
- Executable scriptline 1
Executable file
scripts/corpusbuild/clean.py
- Executable scriptline 1
Executable file
scripts/corpusbuild/doctor.py
- Executable scriptline 1
Executable file
scripts/corpusbuild/embed.py
- Executable scriptline 1
Executable file - Network accessline 4
OLLAMA = os.getenv("OLLAMA_HOST", "http://127.0.0.1:11434") - Network accessline 17
for i in range(0, len(texts), batch): body = json.dumps({"model": EMBED_MODEL, "input": texts[i:i + batch]}).encode() req = urllib.request.Request(f"{OLLAMA}/api/embed", data=body, - Network accessline 18
body = json.dumps({"model": EMBED_MODEL, "input": texts[i:i + batch]}).encode() req = urllib.request.Request(f"{OLLAMA}/api/embed", data=body, headers={"Content-Type": "application/json"}) - Network accessline 19
req = urllib.request.Request(f"{OLLAMA}/api/embed", data=body, - Network accessline 20
headers={"Content-Type": "application/json"}) with urllib.request.urlopen(req, timeout=300) as r: out.extend(json.loads(r.read())["embeddings"]) - Network accessline 21
with urllib.request.urlopen(req, timeout=300) as r:
scripts/corpusbuild/enrich.py
- Executable scriptline 1
Executable file - Network accessline 25
import os, urllib.request ollama = os.getenv("OLLAMA_HOST", "http://127.0.0.1:11434") - Network accessline 26
ollama = os.getenv("OLLAMA_HOST", "http://127.0.0.1:11434") - Network accessline 31
body = json.dumps({"model": model, "prompt": prompt, "stream": False, "options": {"temperature": 0.5}}).encode() req = urllib.request.Request(f"{ollama}/api/generate", data=body, - Network accessline 32
"options": {"temperature": 0.5}}).encode() req = urllib.request.Request(f"{ollama}/api/generate", data=body, headers={"Content-Type": "application/json"}) - Network accessline 33
req = urllib.request.Request(f"{ollama}/api/generate", data=body, - Network accessline 34
headers={"Content-Type": "application/json"}) with urllib.request.urlopen(req, timeout=420) as r: return json.loads(r.read()).get("response", "").strip() - Network accessline 35
with urllib.request.urlopen(req, timeout=420) as r:
scripts/corpusbuild/graph.py
- Executable scriptline 1
Executable file
scripts/corpusbuild/ids.py
- Executable scriptline 1
Executable file
scripts/corpusbuild/ingest.py
- Executable scriptline 1
Executable file
scripts/corpusbuild/kernel_extract.py
- Executable scriptline 1
Executable file - Network accessline 12
OLLAMA = os.getenv("OLLAMA_HOST", "http://127.0.0.1:11434") - Network accessline 34
body = json.dumps({"model": KERNEL_MODEL, "prompt": prompt, "stream": False, "options": {"temperature": 0.4}}).encode() req = urllib.request.Request(f"{OLLAMA}/api/generate", data=body, - Network accessline 35
"options": {"temperature": 0.4}}).encode() req = urllib.request.Request(f"{OLLAMA}/api/generate", data=body, headers={"Content-Type": "application/json"}) - Network accessline 36
req = urllib.request.Request(f"{OLLAMA}/api/generate", data=body, - Network accessline 37
headers={"Content-Type": "application/json"}) with urllib.request.urlopen(req, timeout=420) as r: out = json.loads(r.read()).get("response", "") - Network accessline 38
with urllib.request.urlopen(req, timeout=420) as r:
scripts/corpusbuild/kernels.py
- Executable scriptline 1
Executable file
scripts/corpusbuild/link.py
- Executable scriptline 1
Executable file
scripts/corpusbuild/paths.py
- Executable scriptline 1
Executable file
scripts/corpusbuild/pipeline.py
- Executable scriptline 1
Executable file
scripts/council_verdict.py
- Executable scriptline 1
#!/usr/bin/env python3
scripts/decision_card.py
- Executable scriptline 1
#!/usr/bin/env python3
scripts/decision_map.py
- Executable scriptline 1
#!/usr/bin/env python3
scripts/decision_record.py
- Executable scriptline 1
Executable file
scripts/demo/_harness.py
- Executable scriptline 1
Executable file
scripts/demo/clash.en.tape
- Network accessline 11
Set TypingSpeed 30ms Hide Type "export OLLAMA_HOST=http://127.0.0.1:59999" Enter - Network accessline 12
Hide Type "export OLLAMA_HOST=http://127.0.0.1:59999" Enter Type "consilium() { python3 scripts/demo/clash_demo.py --no-prompt --en; }" Enter - Network accessline 13
Type "export OLLAMA_HOST=http://127.0.0.1:59999" Enter
scripts/demo/clash.tape
- Network accessline 11
Set TypingSpeed 30ms Hide Type "export OLLAMA_HOST=http://127.0.0.1:59999" Enter - Network accessline 12
Hide Type "export OLLAMA_HOST=http://127.0.0.1:59999" Enter Type "consilium() { python3 scripts/demo/clash_demo.py --no-prompt; }" Enter - Network accessline 13
Type "export OLLAMA_HOST=http://127.0.0.1:59999" Enter
scripts/demo/clash_demo.py
- Executable scriptline 1
#!/usr/bin/env python3
scripts/demo/crosslingual.en.tape
- Network accessline 11
Set TypingSpeed 40ms Hide Type "export OLLAMA_HOST=http://127.0.0.1:59999" Enter - Network accessline 12
Hide Type "export OLLAMA_HOST=http://127.0.0.1:59999" Enter Type "consilium() { python3 scripts/demo/crosslingual_demo.py --no-prompt --en; }" Enter - Network accessline 13
Type "export OLLAMA_HOST=http://127.0.0.1:59999" Enter
scripts/demo/crosslingual.tape
- Network accessline 11
Set TypingSpeed 40ms Hide Type "export OLLAMA_HOST=http://127.0.0.1:59999" Enter - Network accessline 12
Hide Type "export OLLAMA_HOST=http://127.0.0.1:59999" Enter Type "consilium() { python3 scripts/demo/crosslingual_demo.py --no-prompt; }" Enter - Network accessline 13
Type "export OLLAMA_HOST=http://127.0.0.1:59999" Enter
scripts/demo/crosslingual_demo.py
- Executable scriptline 1
#!/usr/bin/env python3
scripts/demo/misattribution.en.tape
- Network accessline 11
Set TypingSpeed 45ms Hide Type "export OLLAMA_HOST=http://127.0.0.1:59999" Enter - Network accessline 12
Hide Type "export OLLAMA_HOST=http://127.0.0.1:59999" Enter Type "consilium() { python3 scripts/demo/misattribution_demo.py --no-prompt --en; }" Enter - Network accessline 13
Type "export OLLAMA_HOST=http://127.0.0.1:59999" Enter
scripts/demo/misattribution.tape
- Network accessline 11
Set TypingSpeed 45ms Hide Type "export OLLAMA_HOST=http://127.0.0.1:59999" Enter - Network accessline 12
Hide Type "export OLLAMA_HOST=http://127.0.0.1:59999" Enter Type "consilium() { python3 scripts/demo/misattribution_demo.py --no-prompt; }" Enter - Network accessline 13
Type "export OLLAMA_HOST=http://127.0.0.1:59999" Enter
scripts/demo/misattribution_demo.py
- Executable scriptline 1
#!/usr/bin/env python3
scripts/demo/montecarlo.en.tape
- Network accessline 11
Set TypingSpeed 40ms Hide Type "export OLLAMA_HOST=http://127.0.0.1:59999" Enter - Network accessline 12
Hide Type "export OLLAMA_HOST=http://127.0.0.1:59999" Enter Type "consilium() { python3 scripts/demo/montecarlo_demo.py --no-prompt --en; }" Enter - Network accessline 13
Type "export OLLAMA_HOST=http://127.0.0.1:59999" Enter
scripts/demo/montecarlo.tape
- Network accessline 11
Set TypingSpeed 40ms Hide Type "export OLLAMA_HOST=http://127.0.0.1:59999" Enter - Network accessline 12
Hide Type "export OLLAMA_HOST=http://127.0.0.1:59999" Enter Type "consilium() { python3 scripts/demo/montecarlo_demo.py --no-prompt; }" Enter - Network accessline 13
Type "export OLLAMA_HOST=http://127.0.0.1:59999" Enter
scripts/demo/montecarlo_demo.py
- Executable scriptline 1
#!/usr/bin/env python3
scripts/demo/refusal.en.tape
scripts/demo/refusal.tape
scripts/demo/refusal_demo.py
- Executable scriptline 1
#!/usr/bin/env python3
scripts/diversity_check.py
- Executable scriptline 1
#!/usr/bin/env python3
scripts/doctor.py
- Executable scriptline 1
Executable file
scripts/engine/__init__.py
- Executable scriptline 1
Executable file
scripts/engine/fidelity.py
- Executable scriptline 1
Executable file
scripts/engine/hybrid.py
- Executable scriptline 1
Executable file
scripts/engine/lexical.py
- Executable scriptline 1
Executable file
scripts/engine/multi_query.py
- Executable scriptline 1
Executable file - Network accessline 17
OLLAMA = os.getenv("OLLAMA_HOST", "http://127.0.0.1:11434") - Network accessline 34
body = json.dumps({"model": model or GEN_MODEL, "prompt": prompt, "stream": False, "options": {"temperature": 0.4}}).encode() req = urllib.request.Request(f"{OLLAMA}/api/generate", data=body, - Network accessline 35
"options": {"temperature": 0.4}}).encode() req = urllib.request.Request(f"{OLLAMA}/api/generate", data=body, headers={"Content-Type": "application/json"}) - Network accessline 36
req = urllib.request.Request(f"{OLLAMA}/api/generate", data=body, - Network accessline 37
headers={"Content-Type": "application/json"}) with urllib.request.urlopen(req, timeout=timeout) as r: out = json.loads(r.read()).get("response", "") - Network accessline 38
with urllib.request.urlopen(req, timeout=timeout) as r:
scripts/engine/provenance.py
- Executable scriptline 1
Executable file
scripts/engine/remote.py
- Executable scriptline 1
Executable file
scripts/engine/retrieval.py
- Executable scriptline 1
Executable file
scripts/engine/rrf.py
- Executable scriptline 1
Executable file
scripts/engine/semantic.py
- Executable scriptline 1
Executable file
scripts/eval.py
scripts/experiments/antisycophancy_battery.jsonl
- Access to secretsline 22
[Credential-related source omitted]
scripts/experiments/antisycophancy_probe.py
scripts/experiments/citation_rate_eval.py
- Dangerous shell operationline 1
"""Изолированный офлайн-каркас citation-rate eval (ALCE-адаптация). - Executable scriptline 1
Executable file - Dangerous shell operationline 205
lines = ["=== Citation-rate eval (ALCE-адаптация) ===", - Dangerous shell operationline 243
parser = argparse.ArgumentParser(description="Citation-rate eval (ALCE-адаптация, изолировано)") - Access to secretsline 248
[Credential-related source omitted] - Access to secretsline 251
[Credential-related source omitted] - Access to secretsline 252
[Credential-related source omitted]
scripts/experiments/cross_model_probe.py
scripts/experiments/devils_advocate_probe.py
scripts/experiments/diagnose_multiquery.py
- Executable scriptline 1
#!/usr/bin/env python3
scripts/experiments/diagnose_retrieval.py
- Executable scriptline 1
#!/usr/bin/env python3
scripts/experiments/exp_bridge.py
- Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 12
OLLAMA = os.getenv("OLLAMA_HOST", "http://127.0.0.1:11434") - Network accessline 20
body = json.dumps({"model": GEN_MODEL, "prompt": prompt, "stream": False, "options": {"temperature": temp}}).encode() req = urllib.request.Request(f"{OLLAMA}/api/generate", data=body, - Network accessline 21
"options": {"temperature": temp}}).encode() req = urllib.request.Request(f"{OLLAMA}/api/generate", data=body, headers={"Content-Type": "application/json"}) - Network accessline 22
req = urllib.request.Request(f"{OLLAMA}/api/generate", data=body, - Network accessline 23
headers={"Content-Type": "application/json"}) with urllib.request.urlopen(req, timeout=300) as r: return json.loads(r.read()).get("response", "").strip() - Network accessline 24
with urllib.request.urlopen(req, timeout=300) as r:
scripts/experiments/exp_graph.py
- Executable scriptline 1
#!/usr/bin/env python3
scripts/experiments/exp_kernels.py
- Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 23
OLLAMA = os.getenv("OLLAMA_HOST", "http://127.0.0.1:11434") - Network accessline 58
for i in range(0, len(texts), batch): body = json.dumps({"model": EMBED_MODEL, "input": texts[i:i + batch]}).encode() req = urllib.request.Request(f"{OLLAMA}/api/embed", data=body, - Network accessline 59
body = json.dumps({"model": EMBED_MODEL, "input": texts[i:i + batch]}).encode() req = urllib.request.Request(f"{OLLAMA}/api/embed", data=body, headers={"Content-Type": "application/json"}) - Network accessline 60
req = urllib.request.Request(f"{OLLAMA}/api/embed", data=body, - Network accessline 61
headers={"Content-Type": "application/json"}) with urllib.request.urlopen(req, timeout=300) as r: embs = json.loads(r.read())["embeddings"] - Network accessline 62
with urllib.request.urlopen(req, timeout=300) as r:
scripts/experiments/exp_kernels_finer.py
- Executable scriptline 1
#!/usr/bin/env python3
scripts/experiments/instructions_language_probe.py
- Executable scriptline 1
#!/usr/bin/env python3 - Access to secretsline 39
[Credential-related source omitted] - Access to secretsline 147
[Credential-related source omitted] - Access to secretsline 148
[Credential-related source omitted] - Access to secretsline 149
[Credential-related source omitted] - Access to secretsline 151
[Credential-related source omitted] - Access to secretsline 156
[Credential-related source omitted] - Access to secretsline 157
[Credential-related source omitted] - Access to secretsline 269
[Credential-related source omitted] - Access to secretsline 291
[Credential-related source omitted] - Access to secretsline 296
[Credential-related source omitted]
scripts/experiments/instructions_language_variants_probe.py
scripts/experiments/lever_adoption_probe.py
- Executable scriptline 1
#!/usr/bin/env python3 - Access to secretsline 34
[Credential-related source omitted] - Access to secretsline 307
[Credential-related source omitted] - Access to secretsline 308
[Credential-related source omitted] - Access to secretsline 309
[Credential-related source omitted] - Access to secretsline 311
[Credential-related source omitted] - Access to secretsline 316
[Credential-related source omitted] - Access to secretsline 317
[Credential-related source omitted] - Access to secretsline 406
[Credential-related source omitted] - Access to secretsline 426
[Credential-related source omitted] - Access to secretsline 431
[Credential-related source omitted]
scripts/experiments/tier_pool_probe.py
- Executable scriptline 1
#!/usr/bin/env python3
scripts/extractor.py
- Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 8
Парсинг диалога — эвристика: строка «Имя: реплика» (двоеточие+пробел, имя ≤4 слов, с буквой, без `://`) открывает реплику; строки без этого приклеиваются к текущему спикеру. Так время `10:30` и `https://` не создают ложных спикеров. - Network accessline 9
без `://`) открывает реплику; строки без этого приклеиваются к текущему спикеру. Так время `10:30` и `https://` не создают ложных спикеров. """ - Network accessline 10
`10:30` и `https://` не создают ложных спикеров.
scripts/federation/__init__.py
- Executable scriptline 1
Executable file
scripts/federation/coordinator.py
- Executable scriptline 1
Executable file
scripts/federation/demo.py
- Executable scriptline 1
Executable file
scripts/federation/dogfood_byok.py
- Executable scriptline 1
Executable file - Access to secretsline 20
[Credential-related source omitted] - Access to secretsline 55
[Credential-related source omitted] - Access to secretsline 56
[Credential-related source omitted] - Access to secretsline 58
[Credential-related source omitted] - Access to secretsline 63
[Credential-related source omitted] - Access to secretsline 64
[Credential-related source omitted] - Access to secretsline 150
[Credential-related source omitted] - Access to secretsline 153
[Credential-related source omitted]
scripts/federation/executor.py
scripts/federation/judge.py
- Executable scriptline 1
Executable file
scripts/federation/notify.py
- Executable scriptline 1
Executable file
scripts/federation/queue.py
- Executable scriptline 1
Executable file
scripts/federation/spawn.py
- Executable scriptline 1
Executable file
scripts/federation/sub_worker.py
- Executable scriptline 1
#!/usr/bin/env python3
scripts/federation/worker_common.py
- Executable scriptline 1
Executable file
scripts/file_atomic.py
- Executable scriptline 1
Executable file
scripts/firewall_check.sh
scripts/gen_golden.py
- Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 19
OLLAMA = os.getenv("OLLAMA_HOST", "http://127.0.0.1:11434") - Network accessline 54
body = json.dumps({"model": model, "prompt": prompt, "stream": False, "options": {"temperature": 0.3}}).encode() req = urllib.request.Request(f"{OLLAMA}/api/generate", data=body, - Network accessline 55
"options": {"temperature": 0.3}}).encode() req = urllib.request.Request(f"{OLLAMA}/api/generate", data=body, headers={"Content-Type": "application/json"}) - Network accessline 56
req = urllib.request.Request(f"{OLLAMA}/api/generate", data=body, - Network accessline 57
headers={"Content-Type": "application/json"}) with urllib.request.urlopen(req, timeout=timeout) as r: out = json.loads(r.read()).get("response", "") - Network accessline 58
with urllib.request.urlopen(req, timeout=timeout) as r:
scripts/gen_selfdoc.py
- Executable scriptline 1
#!/usr/bin/env python3
scripts/golden_meta.py
- Executable scriptline 1
#!/usr/bin/env python3
scripts/governance.py
- Executable scriptline 1
#!/usr/bin/env python3
scripts/host_install.py
- Executable scriptline 1
#!/usr/bin/env python3 - Executable scriptline 1
#!/usr/bin/env python3 - Access to secretsline 67
[Credential-related source omitted] - Access to secretsline 67
[Credential-related source omitted] - Access to secretsline 73
[Credential-related source omitted] - Access to secretsline 73
[Credential-related source omitted]
scripts/ingest_telegram.py
scripts/judge_backend.py
- Executable scriptline 1
#!/usr/bin/env python3
scripts/lang_check.py
- Executable scriptline 1
#!/usr/bin/env python3
scripts/lens_builder.py
- Executable scriptline 1
Executable file
scripts/lenses.py
- Executable scriptline 1
#!/usr/bin/env python3
scripts/lifecycle.py
scripts/llm_local.py
- Executable scriptline 1
Executable file - Network accessline 9
OLLAMA = os.getenv("OLLAMA_HOST", "http://127.0.0.1:11434") - Network accessline 20
body = json.dumps({"model": model, "prompt": prompt, "stream": False, "options": opts}).encode() req = urllib.request.Request(f"{OLLAMA}/api/generate", data=body, - Network accessline 21
"options": opts}).encode() req = urllib.request.Request(f"{OLLAMA}/api/generate", data=body, headers={"Content-Type": "application/json"}) - Network accessline 22
req = urllib.request.Request(f"{OLLAMA}/api/generate", data=body, - Network accessline 23
headers={"Content-Type": "application/json"}) with urllib.request.urlopen(req, timeout=timeout) as r: return json.loads(r.read()).get("response", "") - Network accessline 24
with urllib.request.urlopen(req, timeout=timeout) as r: - Network accessline 28
OPENROUTER_URL = "https://openrouter.ai/api/v1/chat/completions" - Network accessline 38
payload["max_tokens"] = num_predict body = json.dumps(payload).encode() req = urllib.request.Request(OPENROUTER_URL, data=body, headers={ - Network accessline 39
body = json.dumps(payload).encode() req = urllib.request.Request(OPENROUTER_URL, data=body, headers={ "Content-Type": "application/json", - Network accessline 40
req = urllib.request.Request(OPENROUTER_URL, data=body, headers={ - Network accessline 41
[Credential-related source omitted] - Network accessline 42
[Credential-related source omitted] - Access to secretsline 42
[Credential-related source omitted] - Network accessline 43
with urllib.request.urlopen(req, timeout=timeout) as r: - Access to secretsline 96
[Credential-related source omitted] - Access to secretsline 99
[Credential-related source omitted] - Network accessline 112
try: req = urllib.request.Request(f"{OLLAMA}/api/tags") - Network accessline 113
req = urllib.request.Request(f"{OLLAMA}/api/tags") - Network accessline 114
with urllib.request.urlopen(req, timeout=timeout):
scripts/manifest_builder.py
- Executable scriptline 1
#!/usr/bin/env python3
scripts/mc_run.py
- Executable scriptline 1
#!/usr/bin/env python3
scripts/mcp_decisions.py
- Executable scriptline 1
#!/usr/bin/env python3
scripts/mcp_install.py
scripts/mcp_server.py
- Executable scriptline 1
#!/usr/bin/env python3 - Executable scriptline 1
#!/usr/bin/env python3 - Access to secretsline 72
[Credential-related source omitted] - Access to secretsline 72
[Credential-related source omitted] - Access to secretsline 132
[Credential-related source omitted] - Access to secretsline 132
[Credential-related source omitted] - Network accessline 948
if not (cc.is_pd_host(url) or license == "public-domain"): raise ValueError("не-PD хост: подтверди PD-статус явно (license=public-domain) — права на тебе") raw = cc.fetch(url) # SSRF-гард внутр - Network accessline 948
if not (cc.is_pd_host(url) or license == "public-domain"): raise ValueError("не-PD хост: подтверди PD-статус явно (license=public-domain) — права на тебе") raw = cc.fetch(url) # SSRF-гард внутр - Network accessline 949
raise ValueError("не-PD хост: подтверди PD-статус явно (license=public-domain) — права на тебе") raw = cc.fetch(url) # SSRF-гард внутри (ValueError при непубличном IP) if "gutenberg" in url.lower() - Network accessline 949
raise ValueError("не-PD хост: подтверди PD-статус явно (license=public-domain) — права на тебе") raw = cc.fetch(url) # SSRF-гард внутри (ValueError при непубличном IP) if "gutenberg" in url.lower() - Network accessline 950
raw = cc.fetch(url) # SSRF-гард внутри (ValueError при непубличном IP) - Network accessline 950
raw = cc.fetch(url) # SSRF-гард внутри (ValueError при непубличном IP) - Access to secretsline 3027
[Credential-related source omitted] - Access to secretsline 3027
[Credential-related source omitted]
scripts/mdmeta.py
- Executable scriptline 1
Executable file
scripts/mirror.py
- Executable scriptline 1
#!/usr/bin/env python3
scripts/moat_check.py
- Executable scriptline 1
#!/usr/bin/env python3 - Dangerous shell operationline 242
bm, rm = baseline.get("meta", {}), run.get("meta", {}) - Access to secretsline 259
[Credential-related source omitted] - Access to secretsline 269
[Credential-related source omitted] - Access to secretsline 270
[Credential-related source omitted] - Access to secretsline 282
[Credential-related source omitted] - Access to secretsline 286
[Credential-related source omitted] - Access to secretsline 287
[Credential-related source omitted] - Access to secretsline 288
[Credential-related source omitted] - Access to secretsline 294
[Credential-related source omitted] - Access to secretsline 295
[Credential-related source omitted] - Access to secretsline 322
[Credential-related source omitted]
scripts/outcome_loop.py
- Executable scriptline 1
#!/usr/bin/env python3
scripts/perturbation.py
- Executable scriptline 1
#!/usr/bin/env python3
scripts/poison_eval.py
scripts/prediction_calibration.py
- Executable scriptline 1
#!/usr/bin/env python3
scripts/preflight.py
- Executable scriptline 1
#!/usr/bin/env python3
scripts/premortem.py
- Executable scriptline 1
#!/usr/bin/env python3
scripts/principis.py
- Executable scriptline 1
#!/usr/bin/env python3
scripts/recipes.py
- Executable scriptline 1
#!/usr/bin/env python3
scripts/release_validate.py
scripts/relevance_gate.py
- Executable scriptline 1
#!/usr/bin/env python3
scripts/relevance_judge.py
scripts/retrieval_regression.py
scripts/safe_expr.py
scripts/scaffold.py
- Executable scriptline 1
#!/usr/bin/env python3
scripts/seed.py
- Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 4
Чинит главную фрикцию «использования с нуля»: «пустая доска — норма» по философии, но новый юзер упирается в холодный стол и собирает советников по одному. seed_council за один вызов: для каждого PD-мудреца fetch (collect_pd, авто-strip Gut - Network accessline 5
юзер упирается в холодный стол и собирает советников по одному. seed_council за один вызов: для каждого PD-мудреца fetch (collect_pd, авто-strip Gutenberg) → запись ВЫВЕРЕННОГО манифеста (тир + region-маркеры, выверенные под издание) → ВАЛИ - Network accessline 6
для каждого PD-мудреца fetch (collect_pd, авто-strip Gutenberg) → запись ВЫВЕРЕННОГО манифеста - Network accessline 25
{ "name": "marcus-aurelius", "display": "Марк Аврелий", "url": "https://www.gutenberg.org/cache/epub/2680/pg2680.txt", - Network accessline 26
"name": "marcus-aurelius", "display": "Марк Аврелий", "url": "https://www.gutenberg.org/cache/epub/2680/pg2680.txt", "source_file": "meditations-long-gutenberg.txt", - Network accessline 27
"url": "https://www.gutenberg.org/cache/epub/2680/pg2680.txt", - Network accessline 39
{ "name": "epictetus", "display": "Эпиктет", "url": "https://www.gutenberg.org/cache/epub/45109/pg45109.txt", - Network accessline 40
"name": "epictetus", "display": "Эпиктет", "url": "https://www.gutenberg.org/cache/epub/45109/pg45109.txt", "source_file": "enchiridion-lla.txt", - Network accessline 41
"url": "https://www.gutenberg.org/cache/epub/45109/pg45109.txt",
scripts/selfdoc_query.py
- Executable scriptline 1
#!/usr/bin/env python3
scripts/serving_gate_eval.py
- Executable scriptline 1
#!/usr/bin/env python3
scripts/session_render.py
- Executable scriptline 1
#!/usr/bin/env python3
scripts/setup_full.py
- Executable scriptline 1
#!/usr/bin/env python3 - Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 16
OLLAMA_URL = "http://localhost:11434" - Network accessline 16
OLLAMA_URL = "http://localhost:11434" - Network accessline 19
INSTALL_HINTS = { "darwin": "поставь ollama: `brew install ollama` (или скачай https://ollama.com/download), затем `ollama serve`", - Network accessline 19
INSTALL_HINTS = { "darwin": "поставь ollama: `brew install ollama` (или скачай https://ollama.com/download), затем `ollama serve`", - Network accessline 20
"darwin": "поставь ollama: `brew install ollama` (или скачай https://ollama.com/download), затем `ollama serve`", - Network accessline 20
"darwin": "поставь ollama: `brew install ollama` (или скачай https://ollama.com/download), затем `ollama serve`", - Network accessline 21
"linux": "поставь ollama по инструкции https://ollama.com/download/linux (официальный скрипт https://ollama.com/install.sh), затем `ollama serve`", - Network accessline 21
"linux": "поставь ollama по инструкции https://ollama.com/download/linux (официальный скрипт https://ollama.com/install.sh), затем `ollama serve`", - Network accessline 22
"windows": "скачай установщик ollama: https://ollama.com/download (download), запусти Ollama", - Network accessline 22
"windows": "скачай установщик ollama: https://ollama.com/download (download), запусти Ollama", - Network accessline 41
running, model = False, False try: with urllib.request.urlopen(OLLAMA_URL + "/api/tags", timeout=3) as r: - Network accessline 41
running, model = False, False try: with urllib.request.urlopen(OLLAMA_URL + "/api/tags", timeout=3) as r: - Network accessline 42
try: with urllib.request.urlopen(OLLAMA_URL + "/api/tags", timeout=3) as r: data = json.loads(r.read()) - Network accessline 42
try: with urllib.request.urlopen(OLLAMA_URL + "/api/tags", timeout=3) as r: data = json.loads(r.read()) - Network accessline 43
with urllib.request.urlopen(OLLAMA_URL + "/api/tags", timeout=3) as r: - Network accessline 43
with urllib.request.urlopen(OLLAMA_URL + "/api/tags", timeout=3) as r:
scripts/situation.py
- Executable scriptline 1
#!/usr/bin/env python3
scripts/stability.py
- Executable scriptline 1
#!/usr/bin/env python3
scripts/synth_eval.py
scripts/tier_full.py
- Executable scriptline 1
Executable file - Network accessline 33
OLLAMA = os.getenv("OLLAMA_HOST", "http://127.0.0.1:11434") - Network accessline 61
payload = {"model": EMBED_MODEL, "input": texts, "keep_alive": os.getenv("EMBED_KEEP_ALIVE", "30m")} # пин модели в памяти req = urllib.request.Request( - Network accessline 62
"keep_alive": os.getenv("EMBED_KEEP_ALIVE", "30m")} # пин модели в памяти req = urllib.request.Request( f"{OLLAMA}/api/embed", - Network accessline 63
req = urllib.request.Request( - Network accessline 67
) with _EMBED_SEMAPHORE: # сериализация против herd with urllib.request.urlopen(req, timeout=int(os.getenv("EMBED_TIMEOUT", "120"))) as r: - Network accessline 68
with _EMBED_SEMAPHORE: # сериализация против herd with urllib.request.urlopen(req, timeout=int(os.getenv("EMBED_TIMEOUT", "120"))) as r: embs = json.loads(r.read()).get("embedd - Network accessline 69
with urllib.request.urlopen(req, timeout=int(os.getenv("EMBED_TIMEOUT", "120"))) as r: - Network accessline 84
try: req = urllib.request.Request( - Network accessline 85
req = urllib.request.Request( - Network accessline 88
headers={"Content-Type": "application/json"}, ) with urllib.request.urlopen(req, timeout=5) as r: - Network accessline 89
) with urllib.request.urlopen(req, timeout=5) as r: emb = json.loads(r.read()).get("embeddings") - Network accessline 90
with urllib.request.urlopen(req, timeout=5) as r:
server.json
- Network accessline 1
{ "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json", - Network accessline 2
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json", - Network accessline 6
"version": "0.2.1", "repository": { "url": "https://github.com/ilyautov/consilium-principis", - Network accessline 7
"repository": { "url": "https://github.com/ilyautov/consilium-principis", "source": "github" - Network accessline 8
"url": "https://github.com/ilyautov/consilium-principis", - Network accessline 12
{ "registryType": "mcpb", "identifier": "https://github.com/ilyautov/consilium-principis/releases/download/v0.2.1/consilium-principis.mcpb", - Network accessline 13
"registryType": "mcpb", "identifier": "https://github.com/ilyautov/consilium-principis/releases/download/v0.2.1/consilium-principis.mcpb", "fileSha256": "REPLACE-WITH-sha256-AT-RELEASE-TIME", - Network accessline 14
"identifier": "https://github.com/ilyautov/consilium-principis/releases/download/v0.2.1/consilium-principis.mcpb",
skills/consilium-connect/SKILL.md
- Network accessline 28
git clone https://github.com/ilyautov/consilium-principis ~/consilium-principis - Network accessline 39
Then paste it into your host's MCP configuration. Host-by-host recipes (Claude Code, Claude Desktop, Cursor, Codex, Gemini CLI, Kimi CLI, and any universal MCP host) are in [`docs/CONNECT-HOSTS.md`](https://github.com/ilyautov/consili - Network accessline 41
[`docs/CONNECT-HOSTS.md`](https://github.com/ilyautov/consilium-principis/blob/master/docs/CONNECT-HOSTS.md).
tests/conftest.py
- Executable scriptline 1
Executable file
tests/test_abstention_curve.py
- Executable scriptline 1
Executable file
tests/test_adversarial_loop.py
- Executable scriptline 1
Executable file
tests/test_advisor_calibration.py
- Executable scriptline 1
Executable file
tests/test_antisycophancy_probe.py
tests/test_apparatus.py
- Executable scriptline 1
Executable file - Access to secretsline 149
[Credential-related source omitted] - Network accessline 153
import collect_common as cc, collect_pd from corpusbuild import pipeline raw = collect_pd.strip_gutenberg(cc.fetch("https://www.gutenberg.org/cache/epub/132/pg132.txt")) - Network accessline 154
from corpusbuild import pipeline raw = collect_pd.strip_gutenberg(cc.fetch("https://www.gutenberg.org/cache/epub/132/pg132.txt")) r = ap.scan(raw) - Network accessline 155
raw = collect_pd.strip_gutenberg(cc.fetch("https://www.gutenberg.org/cache/epub/132/pg132.txt"))
tests/test_apparatus_inline_in_regions.py
- Executable scriptline 1
Executable file
tests/test_atomic.py
- Executable scriptline 1
Executable file
tests/test_attribution.py
- Executable scriptline 1
Executable file
tests/test_board_render.py
- Executable scriptline 1
Executable file
tests/test_bootstrap_eval.py
- Executable scriptline 1
Executable file
tests/test_build_manual.py
- Executable scriptline 1
Executable file
tests/test_build_orchestrator.py
- Executable scriptline 1
Executable file
tests/test_buildlock.py
- Executable scriptline 1
Executable file
tests/test_bundle_guard.py
tests/test_calc_render.py
- Executable scriptline 1
Executable file
tests/test_calibrate_advisor.py
- Executable scriptline 1
Executable file
tests/test_calibrated_consult.py
- Executable scriptline 1
Executable file
tests/test_calibration.py
- Executable scriptline 1
Executable file
tests/test_card_stays_local.py
- Executable scriptline 1
Executable file
tests/test_catalog.py
- Executable scriptline 1
Executable file - Network accessline 15
"source": {"platform": "gutenberg", "ref": "2680", "edition": "пер. George Long, 1862", "url": "https://www.gutenberg.org/cache/epub/2680/pg2680.txt", - Network accessline 16
"edition": "пер. George Long, 1862", "url": "https://www.gutenberg.org/cache/epub/2680/pg2680.txt", "pd_basis": "Project Gutenberg (US-PD)"}}]) - Network accessline 17
"url": "https://www.gutenberg.org/cache/epub/2680/pg2680.txt", - Network accessline 25
bad = {"version": 1, "figures": [ {"id": "x"}, {"id": "y", "name": "Y", "source": {"platform": "randomsite", "url": "http://x"}}, - Network accessline 26
{"id": "x"}, {"id": "y", "name": "Y", "source": {"platform": "randomsite", "url": "http://x"}}, ]} - Network accessline 27
{"id": "y", "name": "Y", "source": {"platform": "randomsite", "url": "http://x"}}, - Network accessline 61
"\n*** END OF THE PROJECT GUTENBERG EBOOK X ***\n" pv = catalog.build_preview(name="Марк Аврелий", edition="Long 1862", pd_basis="PG (US-PD)", url="https://www.gutenberg.org/x", raw=raw) - Network accessline 62
pv = catalog.build_preview(name="Марк Аврелий", edition="Long 1862", pd_basis="PG (US-PD)", url="https://www.gutenberg.org/x", raw=raw) assert pv["kind"] == "pd_preview" - Network accessline 63
pd_basis="PG (US-PD)", url="https://www.gutenberg.org/x", raw=raw) - Network accessline 72
noisy = "@#$%^&*<>|~`" * 60 + " a" pv = catalog.build_preview(name="X", edition="e", pd_basis="?", url="http://randomsite.example/x", raw=noisy) - Network accessline 73
pv = catalog.build_preview(name="X", edition="e", pd_basis="?", url="http://randomsite.example/x", raw=noisy) assert pv["pd_host_ok"] is False - Network accessline 74
url="http://randomsite.example/x", raw=noisy) - Network accessline 78
GUT = "https://www.gutenberg.org/cache/epub/2680/pg2680.txt" - Network accessline 117
def test_add_nonpd_url_requires_license(): root = _catalog_root() res = catalog.add_from_catalog("http://randomsite.example/book.txt", root=root, license=None, - Network accessline 118
root = _catalog_root() res = catalog.add_from_catalog("http://randomsite.example/book.txt", root=root, license=None, fetch=lambda url, **k: PD_RAW, build=lambda *a, **k: None) - Network accessline 119
res = catalog.add_from_catalog("http://randomsite.example/book.txt", root=root, license=None, fetch=lambda url, **k: PD_RAW, build=lambda *a, **k: None) assert not res["ok"] and "license" in res["error - Network accessline 145
bad = {"version": 1, "figures": [ {"id": "../x", "name": "X", "source": {"platform": "gutenberg", "url": "http://x"}}]} - Network accessline 146
{"id": "../x", "name": "X", "source": {"platform": "gutenberg", "url": "http://x"}}]}
tests/test_catalog_rights.py
- Executable scriptline 1
Executable file
tests/test_catalog_tools.py
- Executable scriptline 1
Executable file - Network accessline 17
def test_catalog_search_tool(monkeypatch): gutendex = json.dumps({"results": [{"id": 3800, "title": "Ethics", "authors": [{"name": "Spinoza"}], "formats": {"text/plain; charset=utf-8": "https://www.gutenberg.org/files/3800/3800- - Network accessline 18
gutendex = json.dumps({"results": [{"id": 3800, "title": "Ethics", "authors": [{"name": "Spinoza"}], "formats": {"text/plain; charset=utf-8": "https://www.gutenberg.org/files/3800/3800-0.txt"}}]}) monkeypatch.setattr("collect_co - Network accessline 19
"formats": {"text/plain; charset=utf-8": "https://www.gutenberg.org/files/3800/3800-0.txt"}}]}) monkeypatch.setattr("collect_common.fetch", lambda url, **k: gutendex) out = mcp_server.dispatch("catalog_search", {"author": "Spinoza"} - Network accessline 31
{"id": "epictetus", "name": "Эпиктет", "seat": "стоик", "source": {"platform": "gutenberg", "ref": "45109", "edition": "e", "url": "https://www.gutenberg.org/cache/epub/45109/pg45109.txt", - Network accessline 32
"source": {"platform": "gutenberg", "ref": "45109", "edition": "e", "url": "https://www.gutenberg.org/cache/epub/45109/pg45109.txt", "pd_basis": "PG (US-PD)", "expected": {"sha256": sha}}}]}, ensure_a - Network accessline 33
"url": "https://www.gutenberg.org/cache/epub/45109/pg45109.txt", - Network accessline 46
{"id": "good", "name": "Good Figure", "seat": "тест", "source": {"platform": "gutenberg", "ref": "1", "edition": "e", "url": "https://www.gutenberg.org/cache/epub/1/pg1.txt", - Network accessline 47
"source": {"platform": "gutenberg", "ref": "1", "edition": "e", "url": "https://www.gutenberg.org/cache/epub/1/pg1.txt", "pd_basis": "PG (US-PD)"}}, - Network accessline 48
"url": "https://www.gutenberg.org/cache/epub/1/pg1.txt", - Network accessline 50
{"name": "No Id Figure", "source": {"platform": "gutenberg", "ref": "2", "edition": "e", "url": "https://www.gutenberg.org/cache/epub/2/pg2.txt", - Network accessline 51
"source": {"platform": "gutenberg", "ref": "2", "edition": "e", "url": "https://www.gutenberg.org/cache/epub/2/pg2.txt", "pd_basis": "PG (US-PD)"}}, - Network accessline 52
"url": "https://www.gutenberg.org/cache/epub/2/pg2.txt",
tests/test_catalog_verify.py
- Executable scriptline 1
Executable file - Network accessline 14
def test_verify_reports_ok_when_signature_matches(): sha = catalog.text_sha256(catalog.strip_for_signature(RAW)) root = _root_with({"id": "m", "name": "M", "source": {"platform": "gutenberg", "url": "https://www.gutenberg.org/x", - Network accessline 15
sha = catalog.text_sha256(catalog.strip_for_signature(RAW)) root = _root_with({"id": "m", "name": "M", "source": {"platform": "gutenberg", "url": "https://www.gutenberg.org/x", "pd_basis": "PG", "expected": {"sha2 - Network accessline 16
root = _root_with({"id": "m", "name": "M", "source": {"platform": "gutenberg", "url": "https://www.gutenberg.org/x", "pd_basis": "PG", "expected": {"sha256": sha}}}) rep = catalog.verify_catalog(root, fetch=lambda - Network accessline 21
def test_verify_flags_drift(): root = _root_with({"id": "m", "name": "M", "source": {"platform": "gutenberg", "url": "https://www.gutenberg.org/x", - Network accessline 22
root = _root_with({"id": "m", "name": "M", "source": {"platform": "gutenberg", "url": "https://www.gutenberg.org/x", "pd_basis": "PG", "expected": {"sha256": "deadbeef"}}}) rep = catalog.verify_catalog(root, fetch - Network accessline 27
def test_seed_writes_signatures(): root = _root_with({"id": "m", "name": "M", "source": {"platform": "gutenberg", "url": "https://www.gutenberg.org/x", - Network accessline 28
root = _root_with({"id": "m", "name": "M", "source": {"platform": "gutenberg", "url": "https://www.gutenberg.org/x", "pd_basis": "PG"}}) rep = catalog.verify_catalog(root, fetch=lambda url, **k: RAW, seed=True)
tests/test_citation_rate_eval.py
- Dangerous shell operationline 1
"""Офлайн-тест citation-rate eval (ALCE-style). Детерминировано, без сети/ollama. - Executable scriptline 1
Executable file - Network accessline 168
def test_smoke_run_as_script_prints_help_and_exits_zero(): env = dict(os.environ, OLLAMA_HOST="http://127.0.0.1:59999") - Network accessline 169
[Credential-related source omitted] - Access to secretsline 169
[Credential-related source omitted]
tests/test_cite_early_exit.py
- Executable scriptline 1
Executable file
tests/test_cli_backends.py
- Executable scriptline 1
Executable file - Access to secretsline 59
[Credential-related source omitted] - Access to secretsline 224
[Credential-related source omitted] - Dangerous shell operationline 258
@pytest.mark.parametrize("bad", ["--yolo", "-m", "a b", "x;rm -rf", "a,b", "", "é", "a" * 65, "a\nb"]) - Access to secretsline 283
[Credential-related source omitted] - Access to secretsline 284
[Credential-related source omitted] - Access to secretsline 285
[Credential-related source omitted] - Access to secretsline 286
[Credential-related source omitted] - Access to secretsline 292
[Credential-related source omitted] - Access to secretsline 295
[Credential-related source omitted] - Access to secretsline 296
[Credential-related source omitted] - Access to secretsline 356
[Credential-related source omitted] - Access to secretsline 410
[Credential-related source omitted] - Access to secretsline 425
[Credential-related source omitted]
tests/test_collect_strip.py
- Executable scriptline 1
Executable file - Network accessline 131
adv.mkdir(parents=True) path = cc.land_to_sources(str(adv), "My Source Name", " body text ", url="https://example.org/x", license_note="public-domain", - Network accessline 132
path = cc.land_to_sources(str(adv), "My Source Name", " body text ", url="https://example.org/x", license_note="public-domain", extra_meta={"type": "essay"}) - Network accessline 133
url="https://example.org/x", license_note="public-domain", - Network accessline 135
text = open(path, encoding="utf-8").read() head, _, body = text.partition("# " + "-" * 60) assert "# SOURCE: https://example.org/x" in head - Network accessline 136
head, _, body = text.partition("# " + "-" * 60) assert "# SOURCE: https://example.org/x" in head assert "# FETCHED: " in head and "# LICENSE: public-domain" in head - Network accessline 137
assert "# SOURCE: https://example.org/x" in head - Network accessline 143
manifest = os.path.join(adv, "sources", "_provenance.jsonl") rec = json.loads(open(manifest, encoding="utf-8").readline()) assert rec["file"] == "my-source-name.txt" and rec["url"] == "https://example.org/x" - Network accessline 144
rec = json.loads(open(manifest, encoding="utf-8").readline()) assert rec["file"] == "my-source-name.txt" and rec["url"] == "https://example.org/x" assert rec["license"] == "public-domain" and rec["chars"] == len(" body text ") - Network accessline 145
assert rec["file"] == "my-source-name.txt" and rec["url"] == "https://example.org/x"
tests/test_config_set.py
- Executable scriptline 1
Executable file
tests/test_corpus_chunk.py
- Executable scriptline 1
Executable file
tests/test_corpus_clean.py
tests/test_corpus_doctor.py
- Executable scriptline 1
Executable file
tests/test_corpus_doctor_calib.py
- Executable scriptline 1
Executable file
tests/test_corpus_embed.py
- Executable scriptline 1
Executable file
tests/test_corpus_enrich.py
- Executable scriptline 1
Executable file
tests/test_corpus_graph.py
- Executable scriptline 1
Executable file
tests/test_corpus_ids.py
- Executable scriptline 1
Executable file
tests/test_corpus_ingest.py
- Executable scriptline 1
Executable file
tests/test_corpus_kernels.py
- Executable scriptline 1
Executable file
tests/test_corpus_link.py
- Executable scriptline 1
Executable file
tests/test_corpus_paths.py
- Executable scriptline 1
Executable file
tests/test_corpus_pipeline.py
- Executable scriptline 1
Executable file
tests/test_corpus_tiering_staleness.py
- Executable scriptline 1
Executable file
tests/test_council_verdict.py
- Executable scriptline 1
Executable file
tests/test_cross_model_probe.py
- Executable scriptline 1
Executable file
tests/test_dark_tools_wired.py
- Executable scriptline 1
Executable file
tests/test_decision_card.py
- Executable scriptline 1
Executable file
tests/test_decision_map.py
- Executable scriptline 1
Executable file
tests/test_decision_record.py
- Executable scriptline 1
Executable file
tests/test_decision_tools.py
- Executable scriptline 1
Executable file
tests/test_demo_scenarios.py
- Executable scriptline 1
Executable file
tests/test_devils_advocate_probe.py
- Executable scriptline 1
Executable file
tests/test_disclosure_plate.py
- Executable scriptline 1
Executable file
tests/test_diversity_check_tool.py
- Executable scriptline 1
Executable file
tests/test_doctor.py
- Executable scriptline 1
Executable file
tests/test_engine_contract.py
- Executable scriptline 1
Executable file
tests/test_engine_fidelity.py
- Executable scriptline 1
Executable file
tests/test_engine_hybrid.py
- Executable scriptline 1
Executable file
tests/test_engine_lexical.py
- Executable scriptline 1
Executable file
tests/test_engine_remote.py
- Executable scriptline 1
Executable file
tests/test_engine_resolve.py
- Executable scriptline 1
Executable file
tests/test_engine_semantic.py
- Executable scriptline 1
Executable file
tests/test_engine_threshold.py
- Executable scriptline 1
Executable file
tests/test_eval.py
- Executable scriptline 1
Executable file
tests/test_explain_self.py
- Executable scriptline 1
Executable file
tests/test_export_session.py
- Executable scriptline 1
Executable file
tests/test_extractor.py
tests/test_federation_coordinator.py
- Executable scriptline 1
Executable file
tests/test_federation_demo.py
- Executable scriptline 1
Executable file
tests/test_federation_docs.py
- Executable scriptline 1
Executable file
tests/test_federation_dogfood_doc.py
- Executable scriptline 1
Executable file
tests/test_federation_executor.py
- Executable scriptline 1
Executable file
tests/test_federation_judge.py
- Executable scriptline 1
Executable file
tests/test_federation_mcp.py
- Executable scriptline 1
Executable file
tests/test_federation_notify.py
- Executable scriptline 1
Executable file
tests/test_federation_queue.py
- Executable scriptline 1
Executable file
tests/test_fetch_hardening.py
- Executable scriptline 1
Executable file - Network accessline 24
monkeypatch.setattr(socket, "create_connection", _boom) with pytest.raises(ValueError, match="http без шифрования"): cc.fetch("http://example.com/book.txt") - Network accessline 26
cc.fetch("http://example.com/book.txt") - Network accessline 29
def test_http_allowed_only_with_explicit_flag(monkeypatch): monkeypatch.setattr(cc, "_fetch_once", lambda url, t, mb=None: (200, None, b"plain ok")) assert cc.fetch("http://example.com/x", allow_http=True) == "plain ok" - Network accessline 31
assert cc.fetch("http://example.com/x", allow_http=True) == "plain ok" - Network accessline 34
def test_non_web_scheme_refused(): with pytest.raises(ValueError, match="запрещена"): cc.fetch("file:///etc/passwd") - Network accessline 35
with pytest.raises(ValueError, match="запрещена"): cc.fetch("file:///etc/passwd") with pytest.raises(ValueError, match="запрещена"): - Network accessline 36
cc.fetch("file:///etc/passwd") - Network accessline 38
cc.fetch("ftp://example.com/x") - Network accessline 45
monkeypatch.setattr(cc, "_fetch_once", lambda url, t, mb=None: (302, "http://example.com/plain", None)) - Network accessline 46
lambda url, t, mb=None: (302, "http://example.com/plain", None)) with pytest.raises(ValueError, match="даунгрейд"): cc.fetch("https://example.com/start", allow_http=True) - Network accessline 48
cc.fetch("https://example.com/start", allow_http=True) - Network accessline 55
hops.append(url) if url.startswith("http://"): return 301, "https://example.com/secure", None - Network accessline 56
if url.startswith("http://"): return 301, "https://example.com/secure", None return 200, None, b"upgraded" - Network accessline 57
return 301, "https://example.com/secure", None - Network accessline 60
monkeypatch.setattr(cc, "_fetch_once", fake) assert cc.fetch("http://example.com/x", allow_http=True) == "upgraded" - Network accessline 61
assert cc.fetch("http://example.com/x", allow_http=True) == "upgraded" - Network accessline 62
assert hops == ["http://example.com/x", "https://example.com/secure"] - Network accessline 65
def test_redirect_hop_cap(monkeypatch): monkeypatch.setattr(cc, "_fetch_once", lambda url, t, mb=None: (301, "https://example.com/again", None)) - Network accessline 66
monkeypatch.setattr(cc, "_fetch_once", lambda url, t, mb=None: (301, "https://example.com/again", None)) with pytest.raises(ValueError, match="слишком много редиректов"): - Network accessline 67
lambda url, t, mb=None: (301, "https://example.com/again", None)) with pytest.raises(ValueError, match="слишком много редиректов"): cc.fetch("https://example.com/loop") - Network accessline 69
cc.fetch("https://example.com/loop") - Network accessline 73
monkeypatch.setattr(cc, "_fetch_once", lambda url, t, mb=None: (302, None, None)) with pytest.raises(ValueError, match="без Location"): cc.fetch("https://example.com/x") - Network accessline 75
cc.fetch("https://example.com/x") - Network accessline 89
lambda *a, **kw: pytest.fail("коннект к непубличному IP не должен случиться")) with pytest.raises(ValueError, match="SSRF"): cc.fetch("https://internal.example/secret") - Network accessline 91
cc.fetch("https://internal.example/secret") - Network accessline 121
lambda *a, **kw: pytest.fail("коннект к CGNAT не должен случиться")) with pytest.raises(ValueError, match="SSRF"): cc.fetch("https://www.gutenberg.org/cache/epub/1/pg1.txt") - Network accessline 123
cc.fetch("https://www.gutenberg.org/cache/epub/1/pg1.txt") - Network accessline 130
def fake(url, t, mb=None): if "public.example" in url: return 302, "https://internal.example/admin", None - Network accessline 131
if "public.example" in url: return 302, "https://internal.example/admin", None return real_once(url, t, mb) # настоящий путь → SSRF-гард сработает - Network accessline 132
return 302, "https://internal.example/admin", None - Network accessline 136
monkeypatch.setattr(socket, "getaddrinfo", lambda *a, **kw: _addrinfo("10.13.13.13")) with pytest.raises(ValueError, match="SSRF"): cc.fetch("https://public.example/start") - Network accessline 138
cc.fetch("https://public.example/start") - Network accessline 144
monkeypatch.setattr(socket, "getaddrinfo", _nope) with pytest.raises(ValueError, match="не резолвится"): cc.fetch("https://no-such-host.example/") - Network accessline 146
cc.fetch("https://no-such-host.example/") - Network accessline 184
monkeypatch.setattr(cc, "_fetch_once", fake) with pytest.raises(ValueError, match="больше лимита"): cc.fetch("https://example.com/big", max_bytes=10) - Network accessline 186
cc.fetch("https://example.com/big", max_bytes=10)
tests/test_fidelity_cache.py
- Executable scriptline 1
Executable file
tests/test_fidelity_gate.py
- Executable scriptline 1
Executable file
tests/test_fidelity_marker.py
- Executable scriptline 1
Executable file
tests/test_fidelity_negation_crop.py
- Executable scriptline 1
Executable file
tests/test_fidelity_threshold.py
- Executable scriptline 1
Executable file
tests/test_fidelity_tiers.py
- Executable scriptline 1
Executable file
tests/test_file_atomic.py
- Executable scriptline 1
Executable file
tests/test_firewall_check.py
- Executable scriptline 1
Executable file
tests/test_gate_simple_tier_inert.py
- Executable scriptline 1
Executable file - Network accessline 20
Герметично: только tmp-корпус + engine.fidelity/relevance_gate напрямую, без сети и без движка. Запуск (как в задаче): OLLAMA_HOST=http://127.0.0.1:59999 \ - Network accessline 21
без сети и без движка. Запуск (как в задаче): OLLAMA_HOST=http://127.0.0.1:59999 \ python3 -m pytest tests/test_gate_simple_tier_inert.py -q - Network accessline 22
OLLAMA_HOST=http://127.0.0.1:59999 \ - Network accessline 59
dead = "http://127.0.0.1:59999"
tests/test_gen_golden.py
- Executable scriptline 1
Executable file
tests/test_gen_selfdoc.py
- Executable scriptline 1
Executable file
tests/test_generation_publication.py
- Executable scriptline 1
Executable file - Network accessline 232
def land_source(): collect_common.land_to_sources(str(advisor), "added", "Added while build runs.", url="https://example.test/added", license_note="test") - Network accessline 233
collect_common.land_to_sources(str(advisor), "added", "Added while build runs.", url="https://example.test/added", license_note="test") ingest_done.set() - Network accessline 234
url="https://example.test/added", license_note="test")
tests/test_golden_meta.py
- Executable scriptline 1
Executable file
tests/test_governance.py
- Executable scriptline 1
Executable file
tests/test_grounded_lens.py
- Executable scriptline 1
Executable file
tests/test_host_install.py
tests/test_host_judge_protocol.py
- Executable scriptline 1
Executable file
tests/test_index_fingerprint.py
- Executable scriptline 1
Executable file
tests/test_index_tier.py
- Executable scriptline 1
Executable file
tests/test_ingest_telegram.py
- Executable scriptline 1
Executable file
tests/test_install.py
- Executable scriptline 1
Executable file
tests/test_install_runtime.py
- Executable scriptline 1
Executable file
tests/test_instructions_language_probe.py
- Executable scriptline 1
Executable file - Access to secretsline 282
[Credential-related source omitted] - Access to secretsline 289
[Credential-related source omitted] - Access to secretsline 290
[Credential-related source omitted] - Access to secretsline 295
[Credential-related source omitted] - Access to secretsline 296
[Credential-related source omitted] - Access to secretsline 300
[Credential-related source omitted] - Access to secretsline 304
[Credential-related source omitted] - Access to secretsline 312
[Credential-related source omitted] - Access to secretsline 313
[Credential-related source omitted]
tests/test_instructions_language_variants_probe.py
tests/test_instructions_response_language.py
- Executable scriptline 1
Executable file
tests/test_judge_backend.py
- Executable scriptline 1
Executable file - Network accessline 188
def test_doctor_ollama_loopback_no_egress_warning(monkeypatch): monkeypatch.setattr(llm_local, "OLLAMA", "http://127.0.0.1:11434") - Network accessline 189
monkeypatch.setattr(llm_local, "OLLAMA", "http://127.0.0.1:11434") - Network accessline 195
def test_doctor_ollama_remote_warns_data_leaves_machine(monkeypatch): monkeypatch.setattr(llm_local, "OLLAMA", "http://192.168.1.50:11434") - Network accessline 196
monkeypatch.setattr(llm_local, "OLLAMA", "http://192.168.1.50:11434")
tests/test_kernel_extract.py
- Executable scriptline 1
Executable file
tests/test_lang_check.py
- Executable scriptline 1
Executable file
tests/test_language_config.py
- Executable scriptline 1
Executable file
tests/test_lens_builder.py
- Executable scriptline 1
Executable file
tests/test_lenses.py
- Executable scriptline 1
Executable file
tests/test_lever_adoption_probe.py
- Executable scriptline 1
Executable file
tests/test_lifecycle_backcompat.py
- Executable scriptline 1
Executable file
tests/test_lifecycle_tools.py
- Executable scriptline 1
Executable file - Network accessline 80
adv = str(tmp_path / "adv2") r = dispatch("add_source", {"advisor_dir": adv, "url": "https://www.gutenberg.org/cache/epub/1/pg1.txt"}) - Network accessline 81
r = dispatch("add_source", {"advisor_dir": adv, "url": "https://www.gutenberg.org/cache/epub/1/pg1.txt"}) assert r["ok"] - Network accessline 82
"url": "https://www.gutenberg.org/cache/epub/1/pg1.txt"}) - Network accessline 88
def test_add_source_rejects_non_pd_host_without_license(tmp_path): r = dispatch("add_source", {"advisor_dir": str(tmp_path / "a3"), "url": "https://example.com/some-copyrighted-book.txt"}) - Network accessline 89
r = dispatch("add_source", {"advisor_dir": str(tmp_path / "a3"), "url": "https://example.com/some-copyrighted-book.txt"}) assert "error" in r and "PD" in r["error"] - Network accessline 90
"url": "https://example.com/some-copyrighted-book.txt"}) - Network accessline 97
r = dispatch("add_source", {"advisor_dir": str(tmp_path / "a4"), "url": "http://127.0.0.1:11434/api/tags", "license": "public-domain"}) - Network accessline 98
"url": "http://127.0.0.1:11434/api/tags", "license": "public-domain"}) - Network accessline 101
r2 = dispatch("add_source", {"advisor_dir": str(tmp_path / "a4"), "url": "https://127.0.0.1:11434/api/tags", "license": "public-domain"}) - Network accessline 102
"url": "https://127.0.0.1:11434/api/tags", "license": "public-domain"}) - Network accessline 120
], ) assert cc.ssrf_check("https://www.gutenberg.org/cache/epub/1/pg1.txt") is None # публичный → ок - Network accessline 121
) assert cc.ssrf_check("https://www.gutenberg.org/cache/epub/1/pg1.txt") is None # публичный → ок assert "SSRF" not in (cc.ssrf_check("ftp://x/y") or "") # схема режется отдельно - Network accessline 122
assert cc.ssrf_check("https://www.gutenberg.org/cache/epub/1/pg1.txt") is None # публичный → ок - Network accessline 123
assert "SSRF" not in (cc.ssrf_check("ftp://x/y") or "") # схема режется отдельно assert cc.ssrf_check("http://127.0.0.1/") and "127.0.0.1" in cc.ssrf_check("http://127.0.0.1/") assert cc.ssrf_check("file:///etc/passwd") - Network accessline 124
assert cc.ssrf_check("http://127.0.0.1/") and "127.0.0.1" in cc.ssrf_check("http://127.0.0.1/") - Access to secretsline 238
[Credential-related source omitted] - Access to secretsline 239
[Credential-related source omitted] - Access to secretsline 241
[Credential-related source omitted] - Network accessline 349
# P0-4 регрессия-пин: telegram идёт через collect_common.fetch (SSRF-гард), handle санитизирован - Network accessline 352
monkeypatch.setattr(cc, "fetch", lambda url, timeout=20: seen.setdefault("url", url) or "<html>") itg.fetch_channel_html("@my/evil..channel") assert seen["url"] == "https://t.me/s/myevilchannel" # host фиксирован, спецсимволы срез - Network accessline 354
assert seen["url"] == "https://t.me/s/myevilchannel" # host фиксирован, спецсимволы срезаны - Access to secretsline 420
[Credential-related source omitted] - Access to secretsline 422
[Credential-related source omitted] - Access to secretsline 441
[Credential-related source omitted] - Access to secretsline 443
[Credential-related source omitted] - Network accessline 450
gitdir = tmp_path / ".git" gitdir.mkdir() (gitdir / "config").write_text("[remote]\n\turl = https://tok@example/x.git\n", encoding="utf-8") - Network accessline 451
gitdir.mkdir() (gitdir / "config").write_text("[remote]\n\turl = https://tok@example/x.git\n", encoding="utf-8") with pytest.raises(ValueError): - Network accessline 452
(gitdir / "config").write_text("[remote]\n\turl = https://tok@example/x.git\n", encoding="utf-8")
tests/test_llm_local.py
- Executable scriptline 1
Executable file - Network accessline 28
def test_available_no_crash_when_ollama_down(monkeypatch): monkeypatch.setattr(llm_local, "OLLAMA", "http://127.0.0.1:59999") - Network accessline 29
monkeypatch.setattr(llm_local, "OLLAMA", "http://127.0.0.1:59999") - Access to secretsline 47
[Credential-related source omitted] - Access to secretsline 64
[Credential-related source omitted] - Access to secretsline 73
[Credential-related source omitted] - Access to secretsline 82
[Credential-related source omitted] - Access to secretsline 84
[Credential-related source omitted] - Access to secretsline 96
[Credential-related source omitted] - Access to secretsline 107
[Credential-related source omitted] - Access to secretsline 109
[Credential-related source omitted] - Access to secretsline 111
[Credential-related source omitted] - Access to secretsline 128
[Credential-related source omitted]
tests/test_manifest_builder.py
- Executable scriptline 1
Executable file
tests/test_marker_status_single_source.py
- Executable scriptline 1
Executable file
tests/test_mc_run.py
- Executable scriptline 1
Executable file
tests/test_mcp_install.py
tests/test_mcp_json_config.py
- Executable scriptline 1
Executable file
tests/test_mcp_server.py
- Executable scriptline 1
Executable file - Network accessline 460
monkeypatch.setattr(m, "_root", lambda: str(tmp_path)) monkeypatch.setenv("CONSILIUM_JUDGE_BACKEND", "host") monkeypatch.setenv("OLLAMA_HOST", "http://127.0.0.1:59999") # лексический пол, детерминизм - Network accessline 461
monkeypatch.setenv("CONSILIUM_JUDGE_BACKEND", "host") monkeypatch.setenv("OLLAMA_HOST", "http://127.0.0.1:59999") # лексический пол, детерминизм _mk_corpus_advisor(tmp_path, "sage", - Network accessline 462
monkeypatch.setenv("OLLAMA_HOST", "http://127.0.0.1:59999") # лексический пол, детерминизм - Network accessline 489
monkeypatch.setattr(m, "_root", lambda: str(tmp_path)) monkeypatch.setenv("CONSILIUM_JUDGE_BACKEND", "host") monkeypatch.setenv("OLLAMA_HOST", "http://127.0.0.1:59999") - Network accessline 490
monkeypatch.setenv("CONSILIUM_JUDGE_BACKEND", "host") monkeypatch.setenv("OLLAMA_HOST", "http://127.0.0.1:59999") _mk_corpus_advisor(tmp_path, "sage", ["Деньги любят счёт."]) - Network accessline 491
monkeypatch.setenv("OLLAMA_HOST", "http://127.0.0.1:59999") - Network accessline 562
dest = str(tmp_path / "url-lens") r = dispatch("build_lens", {"name": "URL-линза", "dest": dest, "kind": "personality", "ground_url": "https://www.gutenberg.org/cache/epub/1/pg1.txt", - Network accessline 563
r = dispatch("build_lens", {"name": "URL-линза", "dest": dest, "kind": "personality", "ground_url": "https://www.gutenberg.org/cache/epub/1/pg1.txt", "reading_notes": "Читаю про надёжность стимула."}) - Network accessline 564
"ground_url": "https://www.gutenberg.org/cache/epub/1/pg1.txt",
tests/test_mcp_server_bounds.py
- Executable scriptline 1
Executable file
tests/test_mcp_server_stdio.py
tests/test_mirror.py
- Executable scriptline 1
Executable file
tests/test_moat_check.py
- Executable scriptline 1
Executable file
tests/test_montecarlo_demo.py
- Executable scriptline 1
Executable file
tests/test_multi_query.py
- Executable scriptline 1
Executable file
tests/test_network_sandbox.py
- Executable scriptline 1
Executable file - Network accessline 13
def test_guard_blocks_non_loopback(): s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) - Network accessline 14
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) - Network accessline 22
def test_guard_blocks_external_hostname(): s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) - Network accessline 23
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) - Network accessline 34
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) - Network accessline 44
def test_guard_allows_localhost_name(): s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) - Network accessline 45
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
tests/test_no_dark_tools.py
- Executable scriptline 1
Executable file
tests/test_no_inducement_claims.py
- Executable scriptline 1
Executable file
tests/test_outcome_loop.py
- Executable scriptline 1
Executable file
tests/test_owner_gated_followups.py
- Executable scriptline 1
Executable file
tests/test_path_idiom.py
- Executable scriptline 1
Executable file
tests/test_perturbation.py
- Executable scriptline 1
Executable file
tests/test_plugin_manifests.py
- Executable scriptline 1
Executable file - Network accessline 120
assert ".mcpb" in ident and "mcp" in ident, "URL mcpb-артефакта обязан содержать 'mcp'" assert ident.startswith("https://github.com/ilyautov/consilium-principis/releases/") - Network accessline 121
assert ident.startswith("https://github.com/ilyautov/consilium-principis/releases/")
tests/test_poison_eval.py
- Executable scriptline 1
Executable file
tests/test_positioning_doc.py
- Executable scriptline 1
Executable file
tests/test_prediction_calibration.py
- Executable scriptline 1
Executable file
tests/test_prediction_contract.py
- Executable scriptline 1
Executable file
tests/test_preflight.py
- Executable scriptline 1
Executable file
tests/test_premortem.py
- Executable scriptline 1
Executable file
tests/test_principis.py
- Executable scriptline 1
Executable file
tests/test_private_state_collisions.py
- Executable scriptline 1
Executable file
tests/test_proof_card.py
- Executable scriptline 1
Executable file
tests/test_provenance.py
- Executable scriptline 1
Executable file
tests/test_provenance_graph_unwired.py
- Executable scriptline 1
Executable file
tests/test_public_docs_contract.py
- Executable scriptline 1
Executable file
tests/test_quote_of_day.py
- Executable scriptline 1
Executable file
tests/test_read_traversal.py
- Executable scriptline 1
Executable file
tests/test_reader_migration.py
- Executable scriptline 1
Executable file
tests/test_readme_honest_claims.py
- Executable scriptline 1
Executable file - Network accessline 170
"badge_offline": ( _check_badge_offline, "", - Network accessline 171
_check_badge_offline, "", "бейдж утверждает 'works offline' — оставь честный (no extra keys · no extra cost)", - Network accessline 172
"",
tests/test_recipes.py
- Executable scriptline 1
Executable file
tests/test_refusal_demo.py
- Executable scriptline 1
Executable file
tests/test_release_validate.py
- Executable scriptline 1
Executable file - Network accessline 16
TAG = f"v{VERSION}" RELEASE_URL = ( "https://github.com/ilyautov/consilium-principis/releases/download/" - Network accessline 17
RELEASE_URL = ( "https://github.com/ilyautov/consilium-principis/releases/download/" f"{TAG}/consilium-principis.mcpb" - Network accessline 18
"https://github.com/ilyautov/consilium-principis/releases/download/" - Network accessline 189
tmp_path, sha256_value=sha256(artifact), url="https://example.invalid/consilium-principis.mcpb", - Network accessline 190
sha256_value=sha256(artifact), url="https://example.invalid/consilium-principis.mcpb", ) - Network accessline 191
url="https://example.invalid/consilium-principis.mcpb",
tests/test_release_workflow.py
- Executable scriptline 1
Executable file
tests/test_relevance_gate.py
- Executable scriptline 1
Executable file
tests/test_relevance_judge.py
- Executable scriptline 1
Executable file
tests/test_retrieval_regression.py
tests/test_safe_expr.py
tests/test_scaffold.py
- Executable scriptline 1
Executable file
tests/test_seed.py
- Executable scriptline 1
Executable file - Network accessline 15
def _fake_fetch_writing(text): def fetch(adv_dir, url, source_file): - Network accessline 16
def fetch(adv_dir, url, source_file): - Network accessline 29
def test_seed_one_happy_path(): spec = {"name": "sage", "display": "Мудрец", "url": "http://x", "source_file": "s.txt", - Network accessline 30
spec = {"name": "sage", "display": "Мудрец", "url": "http://x", "source_file": "s.txt", - Network accessline 42
def _happy_spec(name="sage", display="Мудрец"): return {"name": name, "display": display, "url": "http://x", "source_file": "s.txt", - Network accessline 43
return {"name": name, "display": display, "url": "http://x", "source_file": "s.txt", - Network accessline 84
def test_seed_one_gate_blocks_bad_marker(): spec = {"name": "sage", "display": "Мудрец", "url": "http://x", "source_file": "s.txt", - Network accessline 85
spec = {"name": "sage", "display": "Мудрец", "url": "http://x", "source_file": "s.txt", - Network accessline 93
def test_seed_one_handles_fetch_failure(): spec = {"name": "sage", "display": "X", "url": "http://x", "source_file": "s.txt", - Network accessline 94
spec = {"name": "sage", "display": "X", "url": "http://x", "source_file": "s.txt", - Network accessline 107
monkeypatch.setattr(seed.subprocess, "run", boom) with tempfile.TemporaryDirectory() as t: assert seed._real_fetch(t, "http://x", "s.txt") is None - Network accessline 109
assert seed._real_fetch(t, "http://x", "s.txt") is None - Network accessline 112
def test_seed_council_continues_past_failures(): specs = [ {"name": "good", "display": "G", "url": "http://x", "source_file": "s.txt", - Network accessline 113
specs = [ {"name": "good", "display": "G", "url": "http://x", "source_file": "s.txt", "manifest_entry": {"tier": "P1"}}, - Network accessline 114
{"name": "good", "display": "G", "url": "http://x", "source_file": "s.txt", - Network accessline 115
"manifest_entry": {"tier": "P1"}}, {"name": "bad", "display": "B", "url": "http://x", "source_file": "s.txt", "manifest_entry": {"tier": "P1", "regions": [{"tier": "P1", "from": "NOPE"}]}}, - Network accessline 116
{"name": "bad", "display": "B", "url": "http://x", "source_file": "s.txt",
tests/test_selfdoc_fresh.py
- Executable scriptline 1
Executable file
tests/test_selfdoc_narrative.py
- Executable scriptline 1
Executable file
tests/test_serving_gate_eval.py
- Executable scriptline 1
Executable file
tests/test_session_render.py
- Executable scriptline 1
Executable file
tests/test_setup.py
- Executable scriptline 1
Executable file
tests/test_situation.py
- Executable scriptline 1
Executable file
tests/test_skillignore.py
- Executable scriptline 1
Executable file - Network accessline 74
[Credential-related source omitted] - Access to secretsline 74
[Credential-related source omitted] - Dangerous shell operationline 75
(re.compile(r"rm\s+-rf\s+[~/]"), "rm -rf по пути"), - Network accessline 75
(re.compile(r"rm\s+-rf\s+[~/]"), "rm -rf по пути"), (re.compile(r"(?:curl|wget)\s+[^|\s][^\n]*\|\s*(?:sudo\s+)?(?:ba|z|da|k)?sh\b"), "curl | sh"), (re.compile(r"echo\s+[^\n]*\|\s*(?:python|perl|ruby|node|(?:ba|z)?sh\b)"), "echo | ин - Dangerous shell operationline 76
(re.compile(r"(?:curl|wget)\s+[^|\s][^\n]*\|\s*(?:sudo\s+)?(?:ba|z|da|k)?sh\b"), "curl | sh"), - Network accessline 76
(re.compile(r"(?:curl|wget)\s+[^|\s][^\n]*\|\s*(?:sudo\s+)?(?:ba|z|da|k)?sh\b"), "curl | sh"),
tests/test_stability.py
- Executable scriptline 1
Executable file
tests/test_sub_worker.py
- Executable scriptline 1
Executable file
tests/test_swallow.py
- Executable scriptline 1
Executable file
tests/test_synth_eval.py
- Executable scriptline 1
Executable file
tests/test_tier_full_hotpath.py
- Executable scriptline 1
Executable file
tests/test_tier_in_contract.py
- Executable scriptline 1
Executable file
tests/test_tier_pool_probe.py
- Executable scriptline 1
Executable file
tests/test_tool_dispatch_smoke.py
- Executable scriptline 1
Executable file
How the signals fit together
Facts from a static read of the files at the pinned commit. They describe what the code does, not why.
Some files could not be read; the facts below still hold.
Declared and executed: 2 facts
- Contacts gutendex.com, which SKILL.md, the README and the plugin manifest do not mentionscripts/catalog.py:270High confidence
- Contacts www.youtube.com, which SKILL.md, the README and the plugin manifest do not mentionscripts/collect_transcript.py:54High confidence
Signal confidence: 498 facts
- Network access in prose of documentation.github/PULL_REQUEST_TEMPLATE.md:10Low confidence
- Network access in prose of documentation.github/PULL_REQUEST_TEMPLATE.md:11Low confidence
- Network access in prose of documentationCHANGELOG.md:3Low confidence
- Network access in prose of documentationCHANGELOG.md:4Low confidence
- Network access in prose of documentationCHANGELOG.md:102Low confidence
- Access to secrets in prose of documentation: a variable, placeholder or call, not a stored valueCHANGELOG.md:102Low confidence
- Network access in prose of documentationCHANGELOG.md:103Low confidence
- Dangerous shell operation in prose of documentationCHANGELOG.md:104Low confidence
- Network access in prose of documentationCHANGELOG.md:104Low confidence
- Dangerous shell operation in prose of documentationCHANGELOG.md:105Low confidence
- Dangerous shell operation in prose of documentationCHANGELOG.md:246Low confidence
- Network access in prose of documentationCHANGELOG.md:297Low confidence
- Network access in prose of documentationCHANGELOG.md:298Low confidence
- Network access in prose of documentationCHANGELOG.md:299Low confidence
- Network access in prose of documentationCHANGELOG.md:300Low confidence
- Network access in prose of documentationCHANGELOG.md:301Low confidence
- Network access in prose of documentationCHANGELOG.md:302Low confidence
- Network access in prose of documentationCHANGELOG.md:303Low confidence
- Network access in prose of documentationCONNECT-MCP.en.md:5Low confidence
- Network access in code of documentationCONNECT-MCP.en.md:30Low confidence
- Network access in prose of documentationCONNECT-MCP.en.md:105Low confidence
- Network access in prose of documentationCONNECT-MCP.en.md:106Low confidence
- Network access in prose of documentationCONNECT-MCP.md:5Low confidence
- Network access in prose of documentationCONNECT-MCP.md:38Low confidence
- Network access in prose of documentationCONNECT-MCP.md:39Low confidence
- Network access in code of documentationCONNECT-MCP.md:42Low confidence
- Network access in prose of documentationCONNECT-MCP.md:128Low confidence
- Network access in prose of documentationCONNECT-MCP.md:129Low confidence
- Network access in prose of documentationCONTRIBUTING.en.md:12Low confidence
- Network access in prose of documentationCONTRIBUTING.en.md:14Low confidence
- Network access in code of documentationCONTRIBUTING.en.md:51Low confidence
- Network access in code of documentationCONTRIBUTING.en.md:63Low confidence
- Network access in prose of documentationCONTRIBUTING.en.md:70Low confidence
- Network access in prose of documentationCONTRIBUTING.en.md:71Low confidence
- Network access in prose of documentationCONTRIBUTING.md:12Low confidence
- Network access in prose of documentationCONTRIBUTING.md:14Low confidence
- Network access in code of documentationCONTRIBUTING.md:51Low confidence
- Network access in code of documentationCONTRIBUTING.md:63Low confidence
- Network access in prose of documentationCONTRIBUTING.md:70Low confidence
- Network access in prose of documentationCONTRIBUTING.md:71Low confidence
- Executable script in a comment of a file that runsMakefile:1Low confidence
- Network access in code of a file that runsMakefile:6High confidence
- Network access in code of a file that runsMakefile:7High confidence
- Access to secrets in a comment of a file that runs: a variable, placeholder or call, not a stored valueMakefile:10Low confidence
- Network access in prose of documentationQUICKSTART.en.md:5Low confidence
- Network access in prose of documentationQUICKSTART.en.md:28Low confidence
- Network access in prose of documentationQUICKSTART.en.md:29Low confidence
- Network access in prose of documentationQUICKSTART.en.md:34Low confidence
- Network access in prose of documentationQUICKSTART.en.md:35Low confidence
- Network access in prose of documentationQUICKSTART.en.md:75Low confidence
and 448 more
Only the first 500 facts are listed.
Works with
| Agent | Status | Evidence | Install to |
|---|---|---|---|
| Claude Code | Native | Manifest .claude-plugin/marketplace.json | .claude/skills/<skill-name>/ |
| Codex | Compatible | Standard SKILL.md SKILL.md | .agents/skills/<skill-name>/ |
| Cursor | Compatible | Standard SKILL.md SKILL.md | .cursor/skills/<skill-name>/ |
| Gemini CLI | Native | Manifest gemini-extension.json | .gemini/skills/<skill-name>/ |
| GitHub Copilot | Compatible | Standard SKILL.md SKILL.md | .github/skills/<skill-name>/ |
| OpenCode | Compatible | Standard SKILL.md SKILL.md | .opencode/skills/<skill-name>/ |
- Native The repository ships a manifest, folder or frontmatter field for this agent.
- Compatible A standard SKILL.md that this agent can read.
- Unknown No evidence either way.
Derived automatically from paths, manifests and frontmatter. Not tested on each agent.