xrefkit-skills-csharp 0.1.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. xrefkit_skills_csharp-0.1.0/PKG-INFO +16 -0
  2. xrefkit_skills_csharp-0.1.0/README.md +8 -0
  3. xrefkit_skills_csharp-0.1.0/pyproject.toml +30 -0
  4. xrefkit_skills_csharp-0.1.0/setup.cfg +4 -0
  5. xrefkit_skills_csharp-0.1.0/src/xrefkit_skills_csharp/__init__.py +11 -0
  6. xrefkit_skills_csharp-0.1.0/src/xrefkit_skills_csharp/evaluation/cases/csharp_review_basic/calibration.yaml +4 -0
  7. xrefkit_skills_csharp-0.1.0/src/xrefkit_skills_csharp/evaluation/cases/csharp_review_basic/expected.yaml +8 -0
  8. xrefkit_skills_csharp-0.1.0/src/xrefkit_skills_csharp/evaluation/cases/csharp_review_basic/fixture/Fixture.csproj +1 -0
  9. xrefkit_skills_csharp-0.1.0/src/xrefkit_skills_csharp/evaluation/cases/csharp_review_basic/fixture/Service.cs +16 -0
  10. xrefkit_skills_csharp-0.1.0/src/xrefkit_skills_csharp/evaluation/cases/dotnet_change_basic/calibration.yaml +4 -0
  11. xrefkit_skills_csharp-0.1.0/src/xrefkit_skills_csharp/evaluation/cases/dotnet_change_basic/expected.yaml +9 -0
  12. xrefkit_skills_csharp-0.1.0/src/xrefkit_skills_csharp/evaluation/cases/dotnet_change_basic/fixture/Fixture.csproj +1 -0
  13. xrefkit_skills_csharp-0.1.0/src/xrefkit_skills_csharp/evaluation/cases/dotnet_change_basic/fixture/Service.cs +10 -0
  14. xrefkit_skills_csharp-0.1.0/src/xrefkit_skills_csharp/evaluation/cases/error_policy_basic/calibration.yaml +4 -0
  15. xrefkit_skills_csharp-0.1.0/src/xrefkit_skills_csharp/evaluation/cases/error_policy_basic/expected.yaml +10 -0
  16. xrefkit_skills_csharp-0.1.0/src/xrefkit_skills_csharp/evaluation/cases/error_policy_basic/fixture/Fixture.csproj +1 -0
  17. xrefkit_skills_csharp-0.1.0/src/xrefkit_skills_csharp/evaluation/cases/error_policy_basic/fixture/Policy.cs +11 -0
  18. xrefkit_skills_csharp-0.1.0/src/xrefkit_skills_csharp/evaluation/manifest.yaml +23 -0
  19. xrefkit_skills_csharp-0.1.0/src/xrefkit_skills_csharp/knowledge/csharp_error_policy_patterns.md +18 -0
  20. xrefkit_skills_csharp-0.1.0/src/xrefkit_skills_csharp/knowledge/csharp_review_spec.md +20 -0
  21. xrefkit_skills_csharp-0.1.0/src/xrefkit_skills_csharp/knowledge/dotnet_change_analysis_viewpoints.md +19 -0
  22. xrefkit_skills_csharp-0.1.0/src/xrefkit_skills_csharp/package_manifest.yaml +110 -0
  23. xrefkit_skills_csharp-0.1.0/src/xrefkit_skills_csharp/review_axes/csharp_review_findings.yaml +10 -0
  24. xrefkit_skills_csharp-0.1.0/src/xrefkit_skills_csharp/review_axes/error_policy_coverage.yaml +10 -0
  25. xrefkit_skills_csharp-0.1.0/src/xrefkit_skills_csharp/review_axes/evidence_coverage.yaml +10 -0
  26. xrefkit_skills_csharp-0.1.0/src/xrefkit_skills_csharp/schemas/csharp_review.schema.json +13 -0
  27. xrefkit_skills_csharp-0.1.0/src/xrefkit_skills_csharp/schemas/dotnet_change_analysis.schema.json +13 -0
  28. xrefkit_skills_csharp-0.1.0/src/xrefkit_skills_csharp/schemas/error_policy_report.schema.json +13 -0
  29. xrefkit_skills_csharp-0.1.0/src/xrefkit_skills_csharp/skills/csharp_error_policy_extraction/branches/di_startup_throw.md +8 -0
  30. xrefkit_skills_csharp-0.1.0/src/xrefkit_skills_csharp/skills/csharp_error_policy_extraction/entry.md +9 -0
  31. xrefkit_skills_csharp-0.1.0/src/xrefkit_skills_csharp/skills/csharp_error_policy_extraction/fragments/coverage_limits_required.md +13 -0
  32. xrefkit_skills_csharp-0.1.0/src/xrefkit_skills_csharp/skills/csharp_error_policy_extraction.skill.yaml +52 -0
  33. xrefkit_skills_csharp-0.1.0/src/xrefkit_skills_csharp/skills/csharp_review/branches/async_synchronization.md +7 -0
  34. xrefkit_skills_csharp-0.1.0/src/xrefkit_skills_csharp/skills/csharp_review/branches/error_handling.md +8 -0
  35. xrefkit_skills_csharp-0.1.0/src/xrefkit_skills_csharp/skills/csharp_review/entry.md +11 -0
  36. xrefkit_skills_csharp-0.1.0/src/xrefkit_skills_csharp/skills/csharp_review/fragments/evidence_required.md +14 -0
  37. xrefkit_skills_csharp-0.1.0/src/xrefkit_skills_csharp/skills/csharp_review/fragments/handoff_required.md +13 -0
  38. xrefkit_skills_csharp-0.1.0/src/xrefkit_skills_csharp/skills/csharp_review.skill.yaml +66 -0
  39. xrefkit_skills_csharp-0.1.0/src/xrefkit_skills_csharp/skills/dotnet_change_analysis/branches/dependency_direction.md +8 -0
  40. xrefkit_skills_csharp-0.1.0/src/xrefkit_skills_csharp/skills/dotnet_change_analysis/entry.md +9 -0
  41. xrefkit_skills_csharp-0.1.0/src/xrefkit_skills_csharp/skills/dotnet_change_analysis/fragments/structure_evidence_required.md +15 -0
  42. xrefkit_skills_csharp-0.1.0/src/xrefkit_skills_csharp/skills/dotnet_change_analysis.skill.yaml +52 -0
  43. xrefkit_skills_csharp-0.1.0/src/xrefkit_skills_csharp.egg-info/PKG-INFO +16 -0
  44. xrefkit_skills_csharp-0.1.0/src/xrefkit_skills_csharp.egg-info/SOURCES.txt +46 -0
  45. xrefkit_skills_csharp-0.1.0/src/xrefkit_skills_csharp.egg-info/dependency_links.txt +1 -0
  46. xrefkit_skills_csharp-0.1.0/src/xrefkit_skills_csharp.egg-info/entry_points.txt +2 -0
  47. xrefkit_skills_csharp-0.1.0/src/xrefkit_skills_csharp.egg-info/requires.txt +1 -0
  48. xrefkit_skills_csharp-0.1.0/src/xrefkit_skills_csharp.egg-info/top_level.txt +1 -0
@@ -0,0 +1,16 @@
1
+ Metadata-Version: 2.4
2
+ Name: xrefkit-skills-csharp
3
+ Version: 0.1.0
4
+ Summary: Text-only XRefKit C# Skill Package
5
+ Requires-Python: >=3.10
6
+ Description-Content-Type: text/markdown
7
+ Requires-Dist: xrefkit<0.5.0,>=0.4.3
8
+
9
+ # xrefkit-skills-csharp
10
+
11
+ Text-only XRefKit Skill Package for C# and .NET analysis.
12
+
13
+ This package exposes `package_root()` through the `xrefkit.skill_packages`
14
+ entry point group so XRefKit can discover `package_manifest.yaml`.
15
+
16
+ It does not include executable tools.
@@ -0,0 +1,8 @@
1
+ # xrefkit-skills-csharp
2
+
3
+ Text-only XRefKit Skill Package for C# and .NET analysis.
4
+
5
+ This package exposes `package_root()` through the `xrefkit.skill_packages`
6
+ entry point group so XRefKit can discover `package_manifest.yaml`.
7
+
8
+ It does not include executable tools.
@@ -0,0 +1,30 @@
1
+ [build-system]
2
+ requires = ["setuptools>=69", "wheel"]
3
+ build-backend = "setuptools.build_meta"
4
+
5
+ [project]
6
+ name = "xrefkit-skills-csharp"
7
+ version = "0.1.0"
8
+ description = "Text-only XRefKit C# Skill Package"
9
+ readme = "README.md"
10
+ requires-python = ">=3.10"
11
+ dependencies = [
12
+ "xrefkit>=0.4.3,<0.5.0"
13
+ ]
14
+
15
+ [project.entry-points."xrefkit.skill_packages"]
16
+ csharp = "xrefkit_skills_csharp:package_root"
17
+
18
+ [tool.setuptools.packages.find]
19
+ where = ["src"]
20
+
21
+ [tool.setuptools.package-data]
22
+ "xrefkit_skills_csharp" = [
23
+ "package_manifest.yaml",
24
+ "skills/*.yaml",
25
+ "skills/**/*.md",
26
+ "knowledge/*.md",
27
+ "review_axes/*.yaml",
28
+ "schemas/*.json",
29
+ "evaluation/**/*"
30
+ ]
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+
@@ -0,0 +1,11 @@
1
+ """Text-only XRefKit Skill Package for C# and .NET analysis."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from pathlib import Path
6
+
7
+
8
+ def package_root() -> Path:
9
+ """Return the package asset root containing package_manifest.yaml."""
10
+
11
+ return Path(__file__).parent
@@ -0,0 +1,4 @@
1
+ case_id: csharp.review.basic-synchronization
2
+ must_not:
3
+ - claim a compiler diagnostic is the primary finding
4
+ - claim one passing test proves synchronization safety
@@ -0,0 +1,8 @@
1
+ case_id: csharp.review.basic-synchronization
2
+ findings:
3
+ - category: synchronization
4
+ severity: major
5
+ evidence: Service.WaitAsync and Ready
6
+ violated_condition: state transition does not directly wake the waiter
7
+ disposition: finding
8
+ gate_verdict: needs-review
@@ -0,0 +1 @@
1
+ <Project Sdk="Microsoft.NET.Sdk"><PropertyGroup><TargetFramework>net8.0</TargetFramework><Nullable>enable</Nullable></PropertyGroup></Project>
@@ -0,0 +1,16 @@
1
+ namespace Fixture;
2
+ public sealed class Service
3
+ {
4
+ private readonly FakeClock _clock;
5
+ private bool _ready;
6
+ public Service(FakeClock clock) => _clock = clock;
7
+ public async Task WaitAsync(CancellationToken ct)
8
+ {
9
+ while (!_ready) await _clock.Delay(TimeSpan.FromSeconds(1), ct);
10
+ }
11
+ public void Ready() => _ready = true;
12
+ }
13
+ public sealed class FakeClock
14
+ {
15
+ public Task Delay(TimeSpan value, CancellationToken ct) => Task.Delay(Timeout.Infinite, ct);
16
+ }
@@ -0,0 +1,4 @@
1
+ case_id: dotnet.change_analysis.basic-boundary
2
+ must_not:
3
+ - decide implementation policy from the structure alone
4
+ - claim the call path is the complete system impact
@@ -0,0 +1,9 @@
1
+ case_id: dotnet.change_analysis.basic-boundary
2
+ required:
3
+ - structure_summary
4
+ - impact_boundaries
5
+ - unknowns
6
+ - handoffs
7
+ must_preserve:
8
+ - Service.ExecuteAsync to Worker.RunAsync call path
9
+ - unknown downstream effects outside the fixture
@@ -0,0 +1 @@
1
+ <Project Sdk="Microsoft.NET.Sdk"><PropertyGroup><TargetFramework>net8.0</TargetFramework></PropertyGroup></Project>
@@ -0,0 +1,10 @@
1
+ namespace Fixture;
2
+ public sealed class Service
3
+ {
4
+ public Task ExecuteAsync(Request request) => new Worker().RunAsync(request);
5
+ }
6
+ public sealed class Worker
7
+ {
8
+ public Task RunAsync(Request request) => Task.CompletedTask;
9
+ }
10
+ public sealed class Request { public string Id { get; set; } = ""; }
@@ -0,0 +1,4 @@
1
+ case_id: csharp.error_policy_extraction.basic-policy
2
+ must_not:
3
+ - present a desired error policy as the existing policy
4
+ - claim the two catch branches are equivalent
@@ -0,0 +1,10 @@
1
+ case_id: csharp.error_policy_extraction.basic-policy
2
+ required:
3
+ - error_policy_inventory
4
+ - disposition_matrix
5
+ - contradictions
6
+ - coverage_limits
7
+ expected_observations:
8
+ - TimeoutException is swallowed by return
9
+ - general Exception is logged and execution continues
10
+ - desired policy must not be invented
@@ -0,0 +1 @@
1
+ <Project Sdk="Microsoft.NET.Sdk"><PropertyGroup><TargetFramework>net8.0</TargetFramework></PropertyGroup></Project>
@@ -0,0 +1,11 @@
1
+ namespace Fixture;
2
+ public sealed class Policy
3
+ {
4
+ public void Send(string value)
5
+ {
6
+ try { Transport.Send(value); }
7
+ catch (TimeoutException) { return; }
8
+ catch (Exception error) { Console.Error.WriteLine(error); }
9
+ }
10
+ private static class Transport { public static void Send(string value) { } }
11
+ }
@@ -0,0 +1,23 @@
1
+ evaluation_id: public.xrefkit-skills-csharp.v1
2
+ package_id: xrefkit.skills.csharp
3
+ cases:
4
+ - id: csharp.review.basic-synchronization
5
+ skill_id: csharp.review
6
+ target: cases/csharp_review_basic/fixture
7
+ expected: cases/csharp_review_basic/expected.yaml
8
+ calibration: cases/csharp_review_basic/calibration.yaml
9
+ - id: dotnet.change_analysis.basic-boundary
10
+ skill_id: dotnet.change_analysis
11
+ target: cases/dotnet_change_basic/fixture
12
+ expected: cases/dotnet_change_basic/expected.yaml
13
+ calibration: cases/dotnet_change_basic/calibration.yaml
14
+ - id: csharp.error_policy_extraction.basic-policy
15
+ skill_id: csharp.error_policy_extraction
16
+ target: cases/error_policy_basic/fixture
17
+ expected: cases/error_policy_basic/expected.yaml
18
+ calibration: cases/error_policy_basic/calibration.yaml
19
+ run_policy:
20
+ target_isolation: required
21
+ expected_answers_are_not_in_target: true
22
+ calibration_is_not_loaded_by_skill: true
23
+ minimum_independent_runs: 3
@@ -0,0 +1,18 @@
1
+ # C# Error Policy Detection Patterns
2
+
3
+ Error policy extraction records implemented behavior from source evidence.
4
+
5
+ Detection patterns include:
6
+
7
+ - throw sites
8
+ - catch blocks
9
+ - custom exception types
10
+ - global exception handlers
11
+ - fire-and-forget tasks
12
+ - sync-over-async calls
13
+ - DI composition root failures
14
+ - options validation
15
+ - default, null, empty, bool, or Try-pattern omission behavior
16
+
17
+ Coverage limits are mandatory because omission policies are often only
18
+ partially detectable.
@@ -0,0 +1,20 @@
1
+ # C# Review Spec
2
+
3
+ C# review targets language-dependent and system-level implementation risks
4
+ beyond compiler diagnostics.
5
+
6
+ Core categories include:
7
+
8
+ - attribute activation and precondition mismatch
9
+ - resource usage efficiency
10
+ - operational resilience
11
+ - synchronization and concurrency correctness
12
+ - business input integrity
13
+ - support lifecycle risk
14
+ - error handling and exception path integrity
15
+ - time and culture correctness
16
+ - state and determinism boundaries
17
+ - contract and schema resilience
18
+ - traceability and context propagation
19
+
20
+ Findings require source evidence.
@@ -0,0 +1,19 @@
1
+ # .NET Change Analysis Viewpoints
2
+
3
+ .NET change analysis records the current structure and change impact before a
4
+ specific implementation decision.
5
+
6
+ Viewpoints include:
7
+
8
+ - project and dependency structure
9
+ - entry points and runtime composition
10
+ - DI registration and lifetimes
11
+ - routes, use cases, jobs, and message handlers
12
+ - configuration and environment variation
13
+ - implicit runtime binding
14
+ - error-handling contract
15
+ - test boundary
16
+ - impact boundary and responsibility placement
17
+
18
+ The Skill records structure and unknowns; it does not decide implementation
19
+ policy by default.
@@ -0,0 +1,110 @@
1
+ package_id: xrefkit.skills.csharp
2
+ package_type: skill_package
3
+ version: 0.1.0
4
+
5
+ requires:
6
+ xrefkit_core: ">=2.0.0 <3.0.0"
7
+
8
+ provides:
9
+ skills:
10
+ - id: csharp.review
11
+ xid: xid-skill-csharp-review
12
+ path: skills/csharp_review.skill.yaml
13
+ contract_role: base_skill
14
+ required_outputs:
15
+ - findings
16
+ - evidence
17
+ - unknowns
18
+ - used_xids
19
+ - handoffs
20
+ required_knowledge:
21
+ - xid-knowledge-csharp-review-spec
22
+ required_review_axes:
23
+ - xid-axis-csharp-review-findings
24
+ - xid-axis-csharp-evidence-coverage
25
+ must_not:
26
+ - report_roslyn_diagnostics_as_primary_findings
27
+ - infer_runtime_behavior_without_source
28
+ - omit_evidence_paths
29
+ - weaken_core_contract
30
+
31
+ - id: dotnet.change_analysis
32
+ xid: xid-skill-dotnet-change-analysis
33
+ path: skills/dotnet_change_analysis.skill.yaml
34
+ contract_role: supporting_skill
35
+ required_outputs:
36
+ - structure_summary
37
+ - impact_boundaries
38
+ - unknowns
39
+ - used_xids
40
+ - handoffs
41
+ required_knowledge:
42
+ - xid-knowledge-dotnet-change-analysis-viewpoints
43
+ required_review_axes:
44
+ - xid-axis-csharp-evidence-coverage
45
+ must_not:
46
+ - decide_implementation_policy
47
+ - emit_defect_review_findings
48
+ - omit_unknowns
49
+ - weaken_core_contract
50
+
51
+ - id: csharp.error_policy_extraction
52
+ xid: xid-skill-csharp-error-policy-extraction
53
+ path: skills/csharp_error_policy_extraction.skill.yaml
54
+ contract_role: supporting_skill
55
+ required_outputs:
56
+ - error_policy_inventory
57
+ - disposition_matrix
58
+ - contradictions
59
+ - coverage_limits
60
+ - used_xids
61
+ required_knowledge:
62
+ - xid-knowledge-csharp-error-policy-patterns
63
+ required_review_axes:
64
+ - xid-axis-csharp-error-policy-coverage
65
+ must_not:
66
+ - decide_desired_error_policy
67
+ - claim_exhaustive_omission_policy_coverage
68
+ - omit_coverage_limits
69
+ - weaken_core_contract
70
+
71
+ knowledge:
72
+ - id: csharp.review_spec
73
+ xid: xid-knowledge-csharp-review-spec
74
+ path: knowledge/csharp_review_spec.md
75
+ - id: dotnet.change_analysis_viewpoints
76
+ xid: xid-knowledge-dotnet-change-analysis-viewpoints
77
+ path: knowledge/dotnet_change_analysis_viewpoints.md
78
+ - id: csharp.error_policy_patterns
79
+ xid: xid-knowledge-csharp-error-policy-patterns
80
+ path: knowledge/csharp_error_policy_patterns.md
81
+
82
+ review_axes:
83
+ - id: csharp.review_findings
84
+ xid: xid-axis-csharp-review-findings
85
+ path: review_axes/csharp_review_findings.yaml
86
+ - id: csharp.evidence_coverage
87
+ xid: xid-axis-csharp-evidence-coverage
88
+ path: review_axes/evidence_coverage.yaml
89
+ - id: csharp.error_policy_coverage
90
+ xid: xid-axis-csharp-error-policy-coverage
91
+ path: review_axes/error_policy_coverage.yaml
92
+
93
+ schemas:
94
+ - id: csharp.review
95
+ xid: xid-schema-csharp-review
96
+ path: schemas/csharp_review.schema.json
97
+ - id: dotnet.change_analysis
98
+ xid: xid-schema-dotnet-change-analysis
99
+ path: schemas/dotnet_change_analysis.schema.json
100
+ - id: csharp.error_policy_report
101
+ xid: xid-schema-csharp-error-policy-report
102
+ path: schemas/error_policy_report.schema.json
103
+
104
+ contract:
105
+ can_be_extended_by_local_skill: true
106
+ local_skill_can_weaken_contract: false
107
+ local_can_weaken_required_outputs: false
108
+ local_can_override_must_not: false
109
+ requires_unknown_declaration: true
110
+ requires_traceability: true
@@ -0,0 +1,10 @@
1
+ axis_id: csharp.review_findings
2
+ xid: xid-axis-csharp-review-findings
3
+ summary: Check whether C# review findings are evidence-backed and within scope.
4
+ checks:
5
+ - id: finding_has_evidence
6
+ description: Each finding includes source evidence and violated condition.
7
+ - id: compiler_diagnostics_not_primary
8
+ description: Findings do not merely duplicate compiler or Roslyn diagnostics.
9
+ - id: out_of_scope_items_handoff
10
+ description: Security, XDDP trace, design, and report-composition concerns are handoffs.
@@ -0,0 +1,10 @@
1
+ axis_id: csharp.error_policy_coverage
2
+ xid: xid-axis-csharp-error-policy-coverage
3
+ summary: Check whether error policy extraction preserves coverage limits.
4
+ checks:
5
+ - id: inventory_present
6
+ description: Error-handling inventory is present.
7
+ - id: matrix_present
8
+ description: Category by disposition matrix is present.
9
+ - id: coverage_limits_present
10
+ description: Coverage limits are explicit and not treated as completeness.
@@ -0,0 +1,10 @@
1
+ axis_id: csharp.evidence_coverage
2
+ xid: xid-axis-csharp-evidence-coverage
3
+ summary: Check whether structure and finding claims are backed by source evidence.
4
+ checks:
5
+ - id: evidence_paths_present
6
+ description: Claims identify source paths or loaded XIDs.
7
+ - id: weak_claims_downgraded
8
+ description: Weakly supported claims are marked unknown or needs_confirmation.
9
+ - id: used_xids_loaded
10
+ description: XIDs used as judgment basis were loaded before use.
@@ -0,0 +1,13 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "xrefkit.skills.csharp.review",
4
+ "type": "object",
5
+ "required": ["findings", "evidence", "unknowns", "used_xids", "handoffs"],
6
+ "properties": {
7
+ "findings": {"type": "array"},
8
+ "evidence": {"type": "array"},
9
+ "unknowns": {"type": "array"},
10
+ "used_xids": {"type": "array", "items": {"type": "string"}},
11
+ "handoffs": {"type": "array"}
12
+ }
13
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "xrefkit.skills.csharp.dotnet_change_analysis",
4
+ "type": "object",
5
+ "required": ["structure_summary", "impact_boundaries", "unknowns", "used_xids", "handoffs"],
6
+ "properties": {
7
+ "structure_summary": {"type": "string"},
8
+ "impact_boundaries": {"type": "array"},
9
+ "unknowns": {"type": "array"},
10
+ "used_xids": {"type": "array", "items": {"type": "string"}},
11
+ "handoffs": {"type": "array"}
12
+ }
13
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "xrefkit.skills.csharp.error_policy_report",
4
+ "type": "object",
5
+ "required": ["error_policy_inventory", "disposition_matrix", "contradictions", "coverage_limits", "used_xids"],
6
+ "properties": {
7
+ "error_policy_inventory": {"type": "array"},
8
+ "disposition_matrix": {"type": "object"},
9
+ "contradictions": {"type": "array"},
10
+ "coverage_limits": {"type": "array"},
11
+ "used_xids": {"type": "array", "items": {"type": "string"}}
12
+ }
13
+ }
@@ -0,0 +1,8 @@
1
+ # DI Startup Throw Branch
2
+
3
+ Use this branch for dependency injection composition root throws, service
4
+ factory failures, options validation, hosted-service startup failures, and
5
+ startup-time exception behavior.
6
+
7
+ Record whether the behavior fails fast, degrades, retries, or escapes as an
8
+ unhandled startup failure.
@@ -0,0 +1,9 @@
1
+ # C# Error Policy Extraction Entry
2
+
3
+ Extract the existing de-facto error policy from C# source.
4
+
5
+ This Skill records implemented behavior. It does not decide the desired policy,
6
+ does not fix code, and does not claim exhaustive omission coverage.
7
+
8
+ Outputs must include an inventory, disposition matrix, contradictions,
9
+ coverage limits, and used XIDs.
@@ -0,0 +1,13 @@
1
+ # Coverage Limits Required
2
+
3
+ Every error-policy extraction report must include coverage limits.
4
+
5
+ Coverage limits must identify:
6
+
7
+ - scan scope
8
+ - patterns used
9
+ - omitted or weakly detectable cases
10
+ - unclassified findings
11
+ - assumptions about runtime boundaries
12
+
13
+ Do not present detected omission policies as exhaustive.
@@ -0,0 +1,52 @@
1
+ skill_id: csharp.error_policy_extraction
2
+ xid: xid-skill-csharp-error-policy-extraction
3
+ role: supporting_skill_contract
4
+
5
+ entry:
6
+ xid: xid-entry-csharp-error-policy-extraction
7
+ path: skills/csharp_error_policy_extraction/entry.md
8
+ load_policy: required_inline
9
+
10
+ required_fragments:
11
+ - id: coverage_limits_required
12
+ xid: xid-fragment-csharp-error-policy-coverage-limits-required
13
+ path: skills/csharp_error_policy_extraction/fragments/coverage_limits_required.md
14
+ load_policy: required_inline
15
+
16
+ branches:
17
+ - id: di_startup_throw
18
+ xid: xid-branch-csharp-error-policy-di-startup-throw
19
+ path: skills/csharp_error_policy_extraction/branches/di_startup_throw.md
20
+ condition:
21
+ any_intent:
22
+ - dependency injection startup
23
+ - options validation
24
+ - composition root throw
25
+ load_policy: on_demand
26
+
27
+ required_outputs:
28
+ - error_policy_inventory
29
+ - disposition_matrix
30
+ - contradictions
31
+ - coverage_limits
32
+ - used_xids
33
+
34
+ required_knowledge:
35
+ - xid-knowledge-csharp-error-policy-patterns
36
+
37
+ review_axes:
38
+ - xid-axis-csharp-error-policy-coverage
39
+
40
+ schemas:
41
+ - xid-schema-csharp-error-policy-report
42
+
43
+ must_not:
44
+ - decide_desired_error_policy
45
+ - claim_exhaustive_omission_policy_coverage
46
+ - omit_coverage_limits
47
+ - weaken_core_contract
48
+
49
+ extension_policy:
50
+ can_be_extended_by_local_skill: true
51
+ local_can_weaken_required_outputs: false
52
+ local_can_override_must_not: false
@@ -0,0 +1,7 @@
1
+ # Async Synchronization Branch
2
+
3
+ Use this branch for async waits, fake clocks, virtual clocks, polling loops,
4
+ task coordination, and synchronization behavior.
5
+
6
+ Check whether the waited state change also wakes the waiter, whether
7
+ cancellation is propagated, and whether tests can block forever.
@@ -0,0 +1,8 @@
1
+ # Error Handling Branch
2
+
3
+ Use this branch when C# review evidence touches exception paths, catch blocks,
4
+ error translation, retry behavior, or fallback behavior.
5
+
6
+ Defect-level error behavior may be reported here.
7
+ Repository-wide de-facto policy extraction belongs to
8
+ `csharp.error_policy_extraction`.
@@ -0,0 +1,11 @@
1
+ # C# Review Entry
2
+
3
+ Review C# code for language-dependent defects and system-level implementation
4
+ risks beyond compiler or Roslyn diagnostics.
5
+
6
+ This Skill produces findings, evidence, unknowns, used XIDs, and handoff items.
7
+
8
+ Do not treat compiler-detectable issues as the primary review value.
9
+ Do not infer runtime behavior without source evidence.
10
+ Do not silently absorb security, XDDP trace, or design-assumption findings;
11
+ record them as handoffs.
@@ -0,0 +1,14 @@
1
+ # Evidence Required
2
+
3
+ Each finding must include source evidence.
4
+
5
+ Evidence should identify:
6
+
7
+ - file path
8
+ - relevant symbol, method, or configuration item
9
+ - violated condition
10
+ - observed behavior or reachable path
11
+ - used XIDs when external knowledge influenced the judgment
12
+
13
+ If source evidence is missing or weak, downgrade the item to `unknown` or
14
+ `needs_confirmation`.
@@ -0,0 +1,13 @@
1
+ # Handoff Required
2
+
3
+ C# review findings must stay inside the C# review boundary.
4
+
5
+ Record handoffs when evidence suggests:
6
+
7
+ - XDDP trace continuity gaps
8
+ - security vulnerabilities
9
+ - business or design assumptions
10
+ - report composition needs
11
+ - error-policy extraction needs
12
+
13
+ Do not convert out-of-scope concerns into C# findings.
@@ -0,0 +1,66 @@
1
+ skill_id: csharp.review
2
+ xid: xid-skill-csharp-review
3
+ role: base_skill_contract
4
+
5
+ entry:
6
+ xid: xid-entry-csharp-review
7
+ path: skills/csharp_review/entry.md
8
+ load_policy: required_inline
9
+
10
+ required_fragments:
11
+ - id: evidence_required
12
+ xid: xid-fragment-csharp-review-evidence-required
13
+ path: skills/csharp_review/fragments/evidence_required.md
14
+ load_policy: required_inline
15
+ - id: handoff_required
16
+ xid: xid-fragment-csharp-review-handoff-required
17
+ path: skills/csharp_review/fragments/handoff_required.md
18
+ load_policy: required_inline
19
+
20
+ branches:
21
+ - id: async_synchronization
22
+ xid: xid-branch-csharp-review-async-synchronization
23
+ path: skills/csharp_review/branches/async_synchronization.md
24
+ condition:
25
+ any_intent:
26
+ - async hang
27
+ - synchronization bug
28
+ - fake clock wait
29
+ load_policy: on_demand
30
+ - id: error_handling
31
+ xid: xid-branch-csharp-review-error-handling
32
+ path: skills/csharp_review/branches/error_handling.md
33
+ condition:
34
+ any_intent:
35
+ - exception handling
36
+ - error policy
37
+ - catch block
38
+ load_policy: on_demand
39
+
40
+ required_outputs:
41
+ - findings
42
+ - evidence
43
+ - unknowns
44
+ - used_xids
45
+ - handoffs
46
+
47
+ required_knowledge:
48
+ - xid-knowledge-csharp-review-spec
49
+
50
+ review_axes:
51
+ - xid-axis-csharp-review-findings
52
+ - xid-axis-csharp-evidence-coverage
53
+
54
+ schemas:
55
+ - xid-schema-csharp-review
56
+
57
+ must_not:
58
+ - report_roslyn_diagnostics_as_primary_findings
59
+ - infer_runtime_behavior_without_source
60
+ - omit_evidence_paths
61
+ - weaken_core_contract
62
+
63
+ extension_policy:
64
+ can_be_extended_by_local_skill: true
65
+ local_can_weaken_required_outputs: false
66
+ local_can_override_must_not: false
@@ -0,0 +1,8 @@
1
+ # Dependency Direction Branch
2
+
3
+ Use this branch when the change concerns layer boundaries, project references,
4
+ dependency direction, or responsibility placement.
5
+
6
+ Record the current dependency direction and the impact of changing it.
7
+ Do not decide the desired architecture policy unless another approved Skill
8
+ owns that decision.
@@ -0,0 +1,9 @@
1
+ # .NET Change Analysis Entry
2
+
3
+ Analyze existing .NET source structure before design or implementation changes.
4
+
5
+ This Skill records structure and change impact. It does not produce defect
6
+ findings and does not decide the desired implementation policy.
7
+
8
+ Outputs must preserve structure summary, impact boundaries, unknowns, used XIDs,
9
+ and handoffs.
@@ -0,0 +1,15 @@
1
+ # Structure Evidence Required
2
+
3
+ Every structure or impact claim must be backed by source evidence.
4
+
5
+ Evidence may include:
6
+
7
+ - project files
8
+ - dependency references
9
+ - entry points
10
+ - DI registration
11
+ - route or use-case traces
12
+ - configuration keys
13
+ - build configuration variants
14
+
15
+ Weak structure claims remain unknown.
@@ -0,0 +1,52 @@
1
+ skill_id: dotnet.change_analysis
2
+ xid: xid-skill-dotnet-change-analysis
3
+ role: supporting_skill_contract
4
+
5
+ entry:
6
+ xid: xid-entry-dotnet-change-analysis
7
+ path: skills/dotnet_change_analysis/entry.md
8
+ load_policy: required_inline
9
+
10
+ required_fragments:
11
+ - id: structure_evidence_required
12
+ xid: xid-fragment-dotnet-change-analysis-structure-evidence-required
13
+ path: skills/dotnet_change_analysis/fragments/structure_evidence_required.md
14
+ load_policy: required_inline
15
+
16
+ branches:
17
+ - id: dependency_direction
18
+ xid: xid-branch-dotnet-change-analysis-dependency-direction
19
+ path: skills/dotnet_change_analysis/branches/dependency_direction.md
20
+ condition:
21
+ any_intent:
22
+ - dependency direction
23
+ - layer boundary
24
+ - project reference impact
25
+ load_policy: on_demand
26
+
27
+ required_outputs:
28
+ - structure_summary
29
+ - impact_boundaries
30
+ - unknowns
31
+ - used_xids
32
+ - handoffs
33
+
34
+ required_knowledge:
35
+ - xid-knowledge-dotnet-change-analysis-viewpoints
36
+
37
+ review_axes:
38
+ - xid-axis-csharp-evidence-coverage
39
+
40
+ schemas:
41
+ - xid-schema-dotnet-change-analysis
42
+
43
+ must_not:
44
+ - decide_implementation_policy
45
+ - emit_defect_review_findings
46
+ - omit_unknowns
47
+ - weaken_core_contract
48
+
49
+ extension_policy:
50
+ can_be_extended_by_local_skill: true
51
+ local_can_weaken_required_outputs: false
52
+ local_can_override_must_not: false
@@ -0,0 +1,16 @@
1
+ Metadata-Version: 2.4
2
+ Name: xrefkit-skills-csharp
3
+ Version: 0.1.0
4
+ Summary: Text-only XRefKit C# Skill Package
5
+ Requires-Python: >=3.10
6
+ Description-Content-Type: text/markdown
7
+ Requires-Dist: xrefkit<0.5.0,>=0.4.3
8
+
9
+ # xrefkit-skills-csharp
10
+
11
+ Text-only XRefKit Skill Package for C# and .NET analysis.
12
+
13
+ This package exposes `package_root()` through the `xrefkit.skill_packages`
14
+ entry point group so XRefKit can discover `package_manifest.yaml`.
15
+
16
+ It does not include executable tools.
@@ -0,0 +1,46 @@
1
+ README.md
2
+ pyproject.toml
3
+ src/xrefkit_skills_csharp/__init__.py
4
+ src/xrefkit_skills_csharp/package_manifest.yaml
5
+ src/xrefkit_skills_csharp.egg-info/PKG-INFO
6
+ src/xrefkit_skills_csharp.egg-info/SOURCES.txt
7
+ src/xrefkit_skills_csharp.egg-info/dependency_links.txt
8
+ src/xrefkit_skills_csharp.egg-info/entry_points.txt
9
+ src/xrefkit_skills_csharp.egg-info/requires.txt
10
+ src/xrefkit_skills_csharp.egg-info/top_level.txt
11
+ src/xrefkit_skills_csharp/evaluation/manifest.yaml
12
+ src/xrefkit_skills_csharp/evaluation/cases/csharp_review_basic/calibration.yaml
13
+ src/xrefkit_skills_csharp/evaluation/cases/csharp_review_basic/expected.yaml
14
+ src/xrefkit_skills_csharp/evaluation/cases/csharp_review_basic/fixture/Fixture.csproj
15
+ src/xrefkit_skills_csharp/evaluation/cases/csharp_review_basic/fixture/Service.cs
16
+ src/xrefkit_skills_csharp/evaluation/cases/dotnet_change_basic/calibration.yaml
17
+ src/xrefkit_skills_csharp/evaluation/cases/dotnet_change_basic/expected.yaml
18
+ src/xrefkit_skills_csharp/evaluation/cases/dotnet_change_basic/fixture/Fixture.csproj
19
+ src/xrefkit_skills_csharp/evaluation/cases/dotnet_change_basic/fixture/Service.cs
20
+ src/xrefkit_skills_csharp/evaluation/cases/error_policy_basic/calibration.yaml
21
+ src/xrefkit_skills_csharp/evaluation/cases/error_policy_basic/expected.yaml
22
+ src/xrefkit_skills_csharp/evaluation/cases/error_policy_basic/fixture/Fixture.csproj
23
+ src/xrefkit_skills_csharp/evaluation/cases/error_policy_basic/fixture/Policy.cs
24
+ src/xrefkit_skills_csharp/knowledge/csharp_error_policy_patterns.md
25
+ src/xrefkit_skills_csharp/knowledge/csharp_review_spec.md
26
+ src/xrefkit_skills_csharp/knowledge/dotnet_change_analysis_viewpoints.md
27
+ src/xrefkit_skills_csharp/review_axes/csharp_review_findings.yaml
28
+ src/xrefkit_skills_csharp/review_axes/error_policy_coverage.yaml
29
+ src/xrefkit_skills_csharp/review_axes/evidence_coverage.yaml
30
+ src/xrefkit_skills_csharp/schemas/csharp_review.schema.json
31
+ src/xrefkit_skills_csharp/schemas/dotnet_change_analysis.schema.json
32
+ src/xrefkit_skills_csharp/schemas/error_policy_report.schema.json
33
+ src/xrefkit_skills_csharp/skills/csharp_error_policy_extraction.skill.yaml
34
+ src/xrefkit_skills_csharp/skills/csharp_review.skill.yaml
35
+ src/xrefkit_skills_csharp/skills/dotnet_change_analysis.skill.yaml
36
+ src/xrefkit_skills_csharp/skills/csharp_error_policy_extraction/entry.md
37
+ src/xrefkit_skills_csharp/skills/csharp_error_policy_extraction/branches/di_startup_throw.md
38
+ src/xrefkit_skills_csharp/skills/csharp_error_policy_extraction/fragments/coverage_limits_required.md
39
+ src/xrefkit_skills_csharp/skills/csharp_review/entry.md
40
+ src/xrefkit_skills_csharp/skills/csharp_review/branches/async_synchronization.md
41
+ src/xrefkit_skills_csharp/skills/csharp_review/branches/error_handling.md
42
+ src/xrefkit_skills_csharp/skills/csharp_review/fragments/evidence_required.md
43
+ src/xrefkit_skills_csharp/skills/csharp_review/fragments/handoff_required.md
44
+ src/xrefkit_skills_csharp/skills/dotnet_change_analysis/entry.md
45
+ src/xrefkit_skills_csharp/skills/dotnet_change_analysis/branches/dependency_direction.md
46
+ src/xrefkit_skills_csharp/skills/dotnet_change_analysis/fragments/structure_evidence_required.md
@@ -0,0 +1,2 @@
1
+ [xrefkit.skill_packages]
2
+ csharp = xrefkit_skills_csharp:package_root
@@ -0,0 +1 @@
1
+ xrefkit<0.5.0,>=0.4.3