Skip to content

Commit 68b04bc

Browse files
WilliamBerryiiiBill Berry
andauthored
fix(docs): remediate writing-style convention violations (#865)
This PR addresses writing-style convention violations across the hve-core documentation. It systematically remediates three violation patterns (em dashes, bolded-prefix list items, and pseudo-headings) across 52 files while adding markdownlint rules that prevent future regressions. All changes are documentation and configuration only; no functional code was modified. ## Changes ### Linting Infrastructure Two new **custom markdownlint rules** were added via `markdownlint-rule-search-replace` (v1.2.0) to catch future writing-style violations at lint time. - Added `no-em-dash` rule to *`.markdownlint.json`* detecting U+2014 em dash characters in prose - Added `no-bolded-prefix-list` rule to *`.markdownlint.json`* detecting `**Term:** description` patterns in list items - Both rules include `information` URLs pointing back to *writing-style.instructions.md* for contributor guidance - Registered the search-replace plugin in *`.markdownlint-cli2.jsonc`* - Changed `MD024.siblings_only` from `false` to `true` to accommodate new headings introduced by pseudo-heading conversions - Added `markdownlint-rule-search-replace` as a dev dependency in *package.json* ### Em Dash Remediation Replaced 41 em dash instances across documentation with context-appropriate punctuation following the writing-style convention. - Substituted colons where the em dash introduced an explanation or elaboration - Substituted parentheses where the em dash framed a parenthetical aside - Applied across contributing guides, architecture docs, RPI workflow documentation, extension templates, getting-started guides, and customization content ### Bolded-Prefix and Pseudo-Heading Conversions Converted 370+ instances of bolded-prefix list items and pseudo-headings into convention-compliant formatting using three remediation strategies matched to content type. - Converted bolded text used as section headers into proper markdown headings (`###`, `####`, `#####`) based on document hierarchy - Replaced `**Term:** description` patterns with plain `Term: description` for inline definitions - Restructured metadata-style lists into definition tables where the content warranted tabular presentation - Added an inline `<!-- markdownlint-disable-next-line search-replace -->` comment in *writing-style.instructions.md* to suppress a false-positive lint hit on the instructional em dash example ### Documentation Updates Applied writing-style fixes across all major documentation areas. - *docs/architecture/*: Heading conversions and em dash replacements in workflow and testing docs - *docs/contributing/*: Bolded-prefix remediation across instructions, prompts, agents, and release process guides - *docs/getting-started/*: Consistent fixes across all six installation method guides - *docs/rpi/*: Pseudo-heading conversions in researcher, planner, and implementor docs - *docs/security/*: Heading and list-item formatting in security planning documentation - *docs/customization/* and *docs/design-thinking/*: Em dash and bolded-prefix fixes - *scripts/*: README heading conversions across extension, lib, linting, security, and tests directories - *extension/*: Pseudo-heading fixes in *PACKAGING.md* and em dash replacement in *README.template.md* - *.devcontainer/README.md* and *SUPPORT.md*: Writing-style compliance fixes ## Related Issues Closes #504 ## Notes - The 662 remaining lint violations (158 em dash + 504 bolded-prefix) are in out-of-scope files (instructions, agents, prompts, skills) and represent the expected baseline documented in Issue #504 - Content meaning and structure are preserved through all conversions; only formatting changed Co-authored-by: Bill Berry <wbery@microsoft.com>
1 parent b6397f4 commit 68b04bc

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

60 files changed

+709
-615
lines changed

.devcontainer/README.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -58,9 +58,9 @@ A pre-configured development environment that includes all tools, extensions, an
5858

5959
### Code Quality
6060

61-
* **Markdown**: markdownlint, markdown-table-formatter
62-
* **Spelling**: Code Spell Checker (VS Code extension)
63-
* **Shell**: shellcheck
61+
* Markdown: markdownlint, markdown-table-formatter
62+
* Spelling: Code Spell Checker (VS Code extension)
63+
* Shell: shellcheck
6464

6565
### Security
6666

@@ -74,9 +74,9 @@ A pre-configured development environment that includes all tools, extensions, an
7474

7575
## Pre-installed VS Code Extensions
7676

77-
* **Spell Checking**: Street Side Software Spell Checker
78-
* **Markdown**: markdownlint, Markdown All in One, Mermaid support
79-
* **GitHub**: GitHub Pull Requests
77+
* Spell Checking: Street Side Software Spell Checker
78+
* Markdown: markdownlint, Markdown All in One, Mermaid support
79+
* GitHub: GitHub Pull Requests
8080

8181
## Common Commands
8282

@@ -98,9 +98,9 @@ gitleaks detect --source . --verbose
9898

9999
## Troubleshooting
100100

101-
**Container won't build**: Ensure Docker Desktop is running and you have sufficient disk space (5GB+).
101+
Container won't build: Ensure Docker Desktop is running and you have sufficient disk space (5GB+).
102102

103-
**Extensions not loading**: Reload the window (`F1`**Developer: Reload Window**).
103+
Extensions not loading: Reload the window (`F1`**Developer: Reload Window**).
104104

105105
For more help, see [SUPPORT.md](../SUPPORT.md).
106106

.github/CUSTOM-AGENTS.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -420,7 +420,7 @@ The Research-Plan-Implement (RPI) workflow provides a structured approach to com
420420
* **Linting Exemption:** Files in `.copilot-tracking/**` are exempt from repository linting rules
421421
* **Agent Switching:** Clear context or start a new chat when switching between specialized agents
422422
* **Research First:** Task planner requires completed research; will automatically invoke researcher if missing
423-
* **No Implementation:** Task planner and researcher never implement actual project code—they create planning artifacts only
423+
* **No Implementation:** Task planner and researcher never implement actual project code. They create planning artifacts only
424424
* **Subagent Requirements:** Several agents require a subagent tool enabled in Copilot settings
425425

426426
## Tips

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -33,11 +33,11 @@ Select all that apply:
3333
* [ ] Copilot agent (`.github/agents/*.agent.md`)
3434
* [ ] Copilot skill (`.github/skills/*/SKILL.md`)
3535

36-
> **Note for AI Artifact Contributors**:
36+
> Note for AI Artifact Contributors:
3737
>
38-
> * **Agents**: Research, indexing/referencing other project (using standard VS Code GitHub Copilot/MCP tools), planning, and general implementation agents likely already exist. Review `.github/agents/` before creating new ones.
39-
> * **Skills**: Must include both bash and PowerShell scripts. See [Skills](../docs/contributing/skills.md).
40-
> * **Model Versions**: Only contributions targeting the **latest Anthropic and OpenAI models** will be accepted. Older model versions (e.g., GPT-3.5, Claude 3) will be rejected.
38+
> * Agents: Research, indexing/referencing other project (using standard VS Code GitHub Copilot/MCP tools), planning, and general implementation agents likely already exist. Review `.github/agents/` before creating new ones.
39+
> * Skills: Must include both bash and PowerShell scripts. See [Skills](../docs/contributing/skills.md).
40+
> * Model Versions: Only contributions targeting the **latest Anthropic and OpenAI models** will be accepted. Older model versions (e.g., GPT-3.5, Claude 3) will be rejected.
4141
> * See [Agents Not Accepted](../docs/contributing/custom-agents.md#agents-not-accepted) and [Model Version Requirements](../docs/contributing/ai-artifacts-common.md#model-version-requirements).
4242
4343
**Other:**
@@ -64,11 +64,11 @@ Select all that apply:
6464

6565
For detailed contribution requirements, see:
6666

67-
* **Common Standards**: [docs/contributing/ai-artifacts-common.md](../docs/contributing/ai-artifacts-common.md) - Shared standards for XML blocks, markdown quality, RFC 2119, validation, and testing
68-
* **Agents**: [docs/contributing/custom-agents.md](../docs/contributing/custom-agents.md) - Agent configurations with tools and behavior patterns
69-
* **Prompts**: [docs/contributing/prompts.md](../docs/contributing/prompts.md) - Workflow-specific guidance with template variables
70-
* **Instructions**: [docs/contributing/instructions.md](../docs/contributing/instructions.md) - Technology-specific standards with glob patterns
71-
* **Skills**: [docs/contributing/skills.md](../docs/contributing/skills.md) - Task execution utilities with cross-platform scripts
67+
* Common Standards: [docs/contributing/ai-artifacts-common.md](../docs/contributing/ai-artifacts-common.md) - Shared standards for XML blocks, markdown quality, RFC 2119, validation, and testing
68+
* Agents: [docs/contributing/custom-agents.md](../docs/contributing/custom-agents.md) - Agent configurations with tools and behavior patterns
69+
* Prompts: [docs/contributing/prompts.md](../docs/contributing/prompts.md) - Workflow-specific guidance with template variables
70+
* Instructions: [docs/contributing/instructions.md](../docs/contributing/instructions.md) - Technology-specific standards with glob patterns
71+
* Skills: [docs/contributing/skills.md](../docs/contributing/skills.md) - Task execution utilities with cross-platform scripts
7272

7373
## Testing
7474
<!-- Describe how you tested these changes -->

.github/instructions/hve-core/writing-style.instructions.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@ Avoid these common patterns that reduce clarity and create clutter.
6262

6363
### Em Dashes
6464

65+
<!-- markdownlint-disable-next-line search-replace -->
6566
Do not use em dashes (—) for parenthetical statements, explanations, or dramatic pauses. Use these alternatives instead:
6667

6768
| Instead of Em Dash | Use This | Example |

.github/workflows/README.md

Lines changed: 47 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -54,9 +54,9 @@ Compose multiple reusable workflows for comprehensive validation and security sc
5454
| `weekly-security-maintenance.yml` | Schedule (Sun 2AM UTC) | 4 (validate-pinning, check-staleness, codeql-analysis, summary) | Soft-fail warnings | Weekly security posture |
5555
| `scorecard.yml` | Push to main, Schedule (Sun 3AM UTC) | 1 (scorecard) | SARIF upload | OpenSSF Scorecard security posture |
5656

57-
**pr-validation.yml jobs**: codeql-analysis, spell-check, markdown-lint, table-format, psscriptanalyzer, frontmatter-validation, link-lang-check, markdown-link-check, dependency-pinning-check
57+
pr-validation.yml jobs: codeql-analysis, spell-check, markdown-lint, table-format, psscriptanalyzer, frontmatter-validation, link-lang-check, markdown-link-check, dependency-pinning-check
5858

59-
**release-stable.yml jobs**: spell-check, markdown-lint, table-format, codeql-analysis, dependency-pinning-scan
59+
release-stable.yml jobs: spell-check, markdown-lint, table-format, codeql-analysis, dependency-pinning-scan
6060

6161
## Reusable Workflows
6262

@@ -75,7 +75,7 @@ Compose multiple reusable workflows for comprehensive validation and security sc
7575

7676
All validation workflows use `permissions: contents: read`, publish PR annotations, and retain artifacts for 30 days.
7777

78-
**Usage example**:
78+
Usage example:
7979

8080
```yaml
8181
jobs:
@@ -89,10 +89,10 @@ jobs:
8989
9090
Each modular workflow implements comprehensive 4-channel result publishing:
9191
92-
1. **PR Annotations**: Warnings/errors appear on Files Changed tab
93-
2. **Artifacts**: Raw output files retained for 30 days
94-
3. **SARIF Reports**: Security tab integration (security workflows only)
95-
4. **Job Summaries**: Rich markdown summaries in Actions tab
92+
1. PR Annotations: Warnings/errors appear on Files Changed tab
93+
2. Artifacts: Raw output files retained for 30 days
94+
3. SARIF Reports: Security tab integration (security workflows only)
95+
4. Job Summaries: Rich markdown summaries in Actions tab
9696
9797
## Security Best Practices
9898
@@ -144,67 +144,67 @@ The SHA staleness check workflow complements Dependabot by monitoring for stale
144144

145145
#### `codeql-analysis.yml`
146146

147-
**Purpose**: Performs comprehensive security analysis using GitHub CodeQL
147+
Purpose: Performs comprehensive security analysis using GitHub CodeQL
148148

149-
**Triggers**: `schedule` (Sundays at 4 AM UTC), `workflow_call`
149+
Triggers: `schedule` (Sundays at 4 AM UTC), `workflow_call`
150150

151-
**Features**:
151+
Features:
152152

153-
* **Languages**: JavaScript/TypeScript analysis
154-
* **Queries**: security-extended and security-and-quality query suites
155-
* **Coverage**: Detects SQL injection, XSS, command injection, path traversal, and 200+ other vulnerabilities
156-
* **Integration**: Results appear in Security > Code Scanning tab
157-
* **Auto-build**: Automatically detects and builds JavaScript/TypeScript projects
153+
* Languages: JavaScript/TypeScript analysis
154+
* Queries: security-extended and security-and-quality query suites
155+
* Coverage: Detects SQL injection, XSS, command injection, path traversal, and 200+ other vulnerabilities
156+
* Integration: Results appear in Security > Code Scanning tab
157+
* Auto-build: Automatically detects and builds JavaScript/TypeScript projects
158158

159-
**Outputs**: SARIF results uploaded to GitHub Security tab, job summary with analysis details
159+
Outputs: SARIF results uploaded to GitHub Security tab, job summary with analysis details
160160

161161
#### `dependency-review.yml`
162162

163-
**Purpose**: Reviews dependency changes in pull requests for known vulnerabilities
163+
Purpose: Reviews dependency changes in pull requests for known vulnerabilities
164164

165-
**Triggers**: `pull_request`, `workflow_call`
165+
Triggers: `pull_request`, `workflow_call`
166166

167-
**Features**:
167+
Features:
168168

169-
* **Threshold**: Fails on moderate or higher severity vulnerabilities
170-
* **PR Comments**: Automatically comments on PRs with vulnerability summary
171-
* **Coverage**: Checks npm packages against GitHub Advisory Database
172-
* **Integration**: Works with Dependabot alerts and security advisories
169+
* Threshold: Fails on moderate or higher severity vulnerabilities
170+
* PR Comments: Automatically comments on PRs with vulnerability summary
171+
* Coverage: Checks npm packages against GitHub Advisory Database
172+
* Integration: Works with Dependabot alerts and security advisories
173173

174-
**Behavior**: Blocks PRs introducing vulnerable dependencies (moderate+ severity)
174+
Behavior: Blocks PRs introducing vulnerable dependencies (moderate+ severity)
175175

176176
#### `dependency-pinning-scan.yml`
177177

178-
**Purpose**: Validates that all GitHub Actions use SHA-pinned versions
178+
Purpose: Validates that all GitHub Actions use SHA-pinned versions
179179

180-
**Inputs**:
180+
Inputs:
181181

182182
* `threshold` (number, default: 95): Minimum compliance percentage
183183
* `dependency-types` (string, default: 'actions,containers'): Types to validate
184184
* `soft-fail` (boolean, default: false): Continue on failures
185185
* `upload-sarif` (boolean, default: false): Upload to Security tab
186186
* `upload-artifact` (boolean, default: true): Upload JSON results
187187

188-
**Outputs**:
188+
Outputs:
189189

190190
* `compliance-score`: Percentage of dependencies properly pinned
191191
* `unpinned-count`: Number of unpinned dependencies
192192
* `is-compliant`: Boolean indicating threshold met
193193

194194
#### `sha-staleness-check.yml`
195195

196-
**Purpose**: Detects outdated GitHub Action SHA pins
196+
Purpose: Detects outdated GitHub Action SHA pins
197197

198-
**Inputs**:
198+
Inputs:
199199

200200
* `max-age-days` (number, default: 30): Maximum age before stale
201201

202-
**Outputs**:
202+
Outputs:
203203

204204
* `stale-count`: Number of stale SHA pins
205205
* `has-stale`: Boolean indicating stale pins found
206206

207-
**Severity Levels**:
207+
Severity Levels:
208208

209209
* Info: 0-30 days
210210
* Low: 31-90 days
@@ -214,18 +214,18 @@ The SHA staleness check workflow complements Dependabot by monitoring for stale
214214

215215
#### `scorecard.yml`
216216

217-
**Purpose**: Performs OpenSSF Scorecard analysis for security posture assessment
217+
Purpose: Performs OpenSSF Scorecard analysis for security posture assessment
218218

219-
**Triggers**: `schedule` (Sundays at 3 AM UTC), `push` to main
219+
Triggers: `schedule` (Sundays at 3 AM UTC), `push` to main
220220

221-
**Features**:
221+
Features:
222222

223-
* **Analysis**: Supply chain security, CI/CD best practices, code review practices
224-
* **Integration**: Results published to OpenSSF Scorecard API and GitHub Security tab
225-
* **Badge**: Live Scorecard badge available for README display
226-
* **Artifacts**: SARIF results retained for 90 days
223+
* Analysis: Supply chain security, CI/CD best practices, code review practices
224+
* Integration: Results published to OpenSSF Scorecard API and GitHub Security tab
225+
* Badge: Live Scorecard badge available for README display
226+
* Artifacts: SARIF results retained for 90 days
227227

228-
**Outputs**: SARIF results uploaded to GitHub Security tab, job summary with badge link
228+
Outputs: SARIF results uploaded to GitHub Security tab, job summary with badge link
229229

230230
## Architecture Decisions
231231

@@ -235,9 +235,9 @@ The SHA staleness check workflow complements Dependabot by monitoring for stale
235235

236236
**Current Architecture:** CodeQL now runs exclusively through orchestrator workflows to prevent duplicate runs and ensure consistent security scanning:
237237

238-
* **CodeQL PR validation**: Runs via `pr-validation.yml` on all PR activity (open, push, reopen)
239-
* **Main branch**: Runs via `release-stable.yml` on every push to main
240-
* **Weekly scan**: Standalone scheduled run every Sunday at 4 AM UTC for continuous security monitoring
238+
* CodeQL PR validation: Runs via `pr-validation.yml` on all PR activity (open, push, reopen)
239+
* Main branch: Runs via `release-stable.yml` on every push to main
240+
* Weekly scan: Standalone scheduled run every Sunday at 4 AM UTC for continuous security monitoring
241241

242242
This architecture ensures:
243243

@@ -246,7 +246,7 @@ This architecture ensures:
246246
* Clear ownership of when and why CodeQL executes
247247
* Reduced GitHub Actions minutes consumption
248248

249-
**Workflow Execution Matrix**:
249+
Workflow Execution Matrix:
250250

251251
| Event | Workflows That Run | CodeQL Included |
252252
|--------------------------------------|----------------------------------------------------------|-----------------------|
@@ -359,10 +359,10 @@ jobs:
359359

360360
### Artifact Handling
361361

362-
* **Retention**: 30 days for all artifacts
363-
* **Naming**: `{workflow-name}-results`
364-
* **Contents**: JSON results, markdown summaries, logs
365-
* **Condition**: `if: always()` to upload even on failure
362+
* Retention: 30 days for all artifacts
363+
* Naming: `{workflow-name}-results`
364+
* Contents: JSON results, markdown summaries, logs
365+
* Condition: `if: always()` to upload even on failure
366366

367367
### GitHub Annotations
368368

.markdownlint-cli2.jsonc

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,13 @@
1515
"plugins/**/commands/**",
1616
"plugins/**/skills/**",
1717
"plugins/**/docs/**",
18-
"plugins/**/scripts/**"
18+
"plugins/**/scripts/**",
19+
".github/instructions/**",
20+
".github/agents/**",
21+
".github/prompts/**",
22+
".github/skills/**"
23+
],
24+
"customRules": [
25+
"markdownlint-rule-search-replace"
1926
]
2027
}

.markdownlint.json

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@
4949
},
5050
"MD023": true,
5151
"MD024": {
52-
"siblings_only": false
52+
"siblings_only": true
5353
},
5454
"MD025": {
5555
"level": 1,
@@ -146,5 +146,23 @@
146146
"MD058": true,
147147
"MD060": {
148148
"style": "leading_and_trailing"
149+
},
150+
"search-replace": {
151+
"rules": [
152+
{
153+
"name": "no-em-dash",
154+
"message": "Do not use em dashes (—); use colons, commas, or parentheses instead",
155+
"searchPattern": "/—/g",
156+
"searchScope": "text",
157+
"information": "https://github.com/microsoft/hve-core/blob/main/.github/instructions/hve-core/writing-style.instructions.md"
158+
},
159+
{
160+
"name": "no-bolded-prefix-list",
161+
"message": "Do not use bolded-prefix list items (e.g., '* **Label**: desc'); use tables, headings, or plain lists",
162+
"searchPattern": "/\\*\\*[^*]+\\*\\*\\s*[:—–-]/g",
163+
"searchScope": "text",
164+
"information": "https://github.com/microsoft/hve-core/blob/main/.github/instructions/hve-core/writing-style.instructions.md"
165+
}
166+
]
149167
}
150168
}

CONTRIBUTING.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -357,10 +357,10 @@ This project uses [release-please](https://github.com/googleapis/release-please)
357357

358358
### How Releases Work
359359

360-
1. **Commit with Conventional Commits** - All commits to `main` must follow conventional commit format (see [commit message instructions](./.github/instructions/hve-core/commit-message.instructions.md))
361-
2. **Release PR Creation** - After commits are pushed to `main`, release-please automatically creates or updates a "release PR"
362-
3. **Review Release PR** - Maintainers review the release PR to verify version bump and changelog accuracy
363-
4. **Merge to Release** - When the release PR is merged, a git tag and GitHub Release are automatically created
360+
1. Commit with Conventional Commits - All commits to `main` must follow conventional commit format (see [commit message instructions](./.github/instructions/hve-core/commit-message.instructions.md))
361+
2. Release PR Creation - After commits are pushed to `main`, release-please automatically creates or updates a "release PR"
362+
3. Review Release PR - Maintainers review the release PR to verify version bump and changelog accuracy
363+
4. Merge to Release - When the release PR is merged, a git tag and GitHub Release are automatically created
364364

365365
### Version Determination
366366

GOVERNANCE.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ HVE Core uses a liberal contribution model where active contributors are recogni
1717

1818
## Governance Model
1919

20-
This project operates under a **corporate-sponsored maintainer model**:
20+
This project operates under a corporate-sponsored maintainer model:
2121

2222
* Microsoft provides stewardship, infrastructure, and core maintainer resources
2323
* Community contributors participate through standard open source workflows
@@ -148,9 +148,9 @@ Nomination process:
148148

149149
When contributors disagree on technical or process matters:
150150

151-
1. **Discussion**: Parties discuss the issue in the relevant pull request or issue
152-
2. **Maintainer input**: If unresolved, a maintainer provides guidance
153-
3. **Maintainer decision**: If consensus remains elusive, maintainers make a binding decision
151+
1. Discussion: Parties discuss the issue in the relevant pull request or issue
152+
2. Maintainer input: If unresolved, a maintainer provides guidance
153+
3. Maintainer decision: If consensus remains elusive, maintainers make a binding decision
154154

155155
Code of conduct violations follow the process defined in [CODE_OF_CONDUCT.md](./CODE_OF_CONDUCT.md).
156156

SUPPORT.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -30,23 +30,23 @@ HVE Core is an open-source project maintained by Microsoft and community contrib
3030
| Major (Accessibility) | Significant accessibility issues | 3-5 business days |
3131
| General Issues & Questions | Bug reports, feature requests, questions | 48-hour (24x6) response window |
3232

33-
**Note**: Response times indicate initial acknowledgment. Resolution time varies based on issue complexity and community availability.
33+
Note: Response times indicate initial acknowledgment. Resolution time varies based on issue complexity and community availability.
3434

3535
### Our Support Performance
3636

3737
We track our response time commitments publicly. Our performance metrics demonstrate consistent delivery:
3838

39-
* **48-hour SLO Compliance**: High compliance rate with response targets
40-
* **Average PR Completion**: Typically completed within 3 days
41-
* **Fast Resolution**: Significant portion of issues/PRs resolved in under 1 day
39+
* 48-hour SLO Compliance: High compliance rate with response targets
40+
* Average PR Completion: Typically completed within 3 days
41+
* Fast Resolution: Significant portion of issues/PRs resolved in under 1 day
4242

4343
## Filing Issues
4444

4545
### General Issues, Bugs, and Feature Requests
4646

4747
1. **Search existing issues** in our [GitHub Issues](https://github.com/microsoft/hve-core/issues)
4848
2. **Create a new issue** if yours isn't already tracked: [New Issue](https://github.com/microsoft/hve-core/issues/new/choose)
49-
3. **Provide details**:
49+
3. Provide details:
5050
* Clear description of the problem or request
5151
* Steps to reproduce (for bugs)
5252
* Expected vs. actual behavior

0 commit comments

Comments
 (0)