Developer
afourney
adamfo@microsoft.com
Performance
YoY:+1%Key patterns and highlights from this developer's activity.
Breakdown of growth, maintenance, and fixes effort over time.
Bugs introduced vs. fixed over time.
Reclassifies engineering effort based on bug attribution. Commits that introduced bugs are retrospectively counted as poor investments.
Investment Quality reclassifies engineering effort based on bug attribution data. Commits identified as buggy origins (those that introduced bugs later fixed by someone) have their grow and maintenance time moved into the Wasted Time category. Their waste (fix commits) remains counted as productive. All other commits retain their standard classification: grow is productive, maintenance is maintenance, and waste (fixes) is productive.
The standard model classifies commits as Growth, Maintenance, or Fixes. Investment Quality adds a quality lens: a commit that introduced a bug is retrospectively counted as a poor investment — the engineering time spent on it was wasted because it ultimately required additional fix work. Fix commits (Fixes in the standard model) are reframed as productive, because fixing bugs is valuable work.
Currently computed client-side from commit and bug attribution data. Ideal server-side endpoint:
POST /v1/organizations/{orgId}/investment-quality
Content-Type: application/json
Request:
{
"startTime": "2025-01-01T00:00:00Z",
"endTime": "2025-12-31T23:59:59Z",
"bucketSize": "BUCKET_SIZE_MONTH",
"groupBy": ["repository_id" | "deliverer_email"]
}
Response:
{
"productivePct": 74,
"maintenancePct": 18,
"wastedPct": 8,
"buckets": [
{
"bucketStart": "2025-01-01T00:00:00Z",
"productive": 4.2,
"maintenance": 1.8,
"wasted": 0.6
}
]
}Latest analyzed commits from this developer.
| Hash | Message | Date | Files | Effort |
|---|---|---|---|---|
| 63cbbd9 | This commit implements a crucial **security enhancement** and **documentation update** for the `markitdown-mcp` package. It introduces a **runtime security warning** that is emitted to `stderr` if the HTTP server is configured to bind to a non-localhost interface, directly impacting the server's startup behavior in `packages/markitdown-mcp/src/markitdown_mcp/__main__.py`. Concurrently, the `packages/markitdown-mcp/README.md` has been significantly updated to include this important warning, clarify usage instructions, and expand on general security considerations. This ensures users are proactively informed about potential security implications of their server configuration, improving overall security posture and user guidance. | Mar 30 | 3 | maint |
| 4a5340f | This commit performs a **version bump** for the **`markitdown`** package, updating its internal version string from `0.1.5b2` to `0.1.5` within the `__about__.py` file. This **maintenance chore** signifies the preparation for a stable release, moving the package out of its beta phase. It ensures that the distributed package correctly reflects its official version, providing clarity for users and downstream dependencies. | Feb 20 | 2 | maint |
| 2b6ec9f | This commit introduces a **new feature** to the **`markitdown` package** by adding `text/markdown` to the `Accept` header of its HTTP request session. This modification, implemented during the session's initialization, explicitly signals a preference for markdown content when the package makes web requests. The change enhances content negotiation, potentially improving compatibility and ensuring the correct content type is received from servers that offer markdown. | Feb 13 | 1 | grow |
| dde250a | This commit performs essential **dependency maintenance** by updating the required versions of the `mammoth` and `pdfminer.six` libraries. A key aspect of this change is addressing **CVE-2025-64512** in `pdfminer.six` by ensuring a minimum patched version is used, thereby enhancing the project's **security posture**. Consequently, the **`markitdown`** package's own version is incremented to `0.1.4` in `markitdown/__about__.py`, reflecting these critical updates. This ensures that `markitdown` users benefit from improved security and updated external library functionality. | Dec 1 | 2 | maint |
| 3d4fe3c | Upgrade mammoth to 1.11.0 (#1452) | Oct 20 | 2 | – |
| 447c047 | This commit introduces a **new test case** within the `markitdown` package to specifically verify the correct resolution of "rlinks" (resource links) when processing documents. The **test enhancement** adds `test_doc_rlink` to `packages/markitdown/tests/test_module_misc.py`, ensuring that the `markitdown` module's integration with `mammoth` properly handles these link types. This work **improves test coverage** for the `markitdown` parser, confirming its ability to semantically process and resolve relative links, thereby enhancing the reliability of document conversions. | Oct 20 | 3 | maint |
| 9278119 | This commit delivers a **bug fix** addressing an issue where **`markitdown`**'s **DOCX conversion** process struggled with linked images. A **workaround** has been implemented in the `_docx_converter.py` module to explicitly disable the processing of these external image references by overriding the `mammoth` library's file opening behavior. This change ensures that DOCX files containing linked images can be converted without errors, significantly improving the **stability and reliability of the conversion subsystem**. The package version is also updated to `0.1.3` to reflect this critical improvement. | Aug 26 | 3 | waste |
| 3bfb821 | This commit introduces a **new feature** that allows the **MarkItDown MCP server** to dynamically control the enablement of its plugin system. It modifies the `markitdown-mcp` package to read the `MARKITDOWN_ENABLE_PLUGINS` environment variable, which now dictates whether plugins are active during markdown conversion. Specifically, the `convert_to_markdown` function in `markitdown_mcp/__main__.py` now utilizes a new `check_plugins_enabled` function to determine plugin status. This change also updates the `Dockerfile` to set this environment variable by default, providing a straightforward way to configure plugin behavior for the service, especially in **containerized deployments**. | Jun 3 | 2 | grow |
| 1dd3c83 | This commit performs a **maintenance** update by promoting the **`markitdown` package** from its alpha release `0.1.2a1` to the stable version `0.1.2`. It specifically modifies the version string within the `markitdown/__about__.py` file to reflect this change. This **version bump** officially marks the release of `markitdown` version `0.1.2`, making it available for general use and indicating a stable build for consumers of the package. | May 28 | 1 | maint |
| 9dc982a | This commit **enhances the `markitdown-mcp` server's transport options** by introducing a new `--http` argument. This **feature addition** allows users to run the server with streamable HTTP, providing a more modern and flexible transport mechanism. Concurrently, the older `--sse` argument is **deprecated** in favor of the new `--http` option, streamlining the **command-line interface**. The **documentation** in `packages/markitdown-mcp/README.md` has also been updated to reflect these changes, clarifying transport type descriptions and correcting command examples for running the server. This change encourages the adoption of more robust HTTP streaming while maintaining backward compatibility for a transition period. | May 23 | 2 | grow |
| effde47 | This commit performs **maintenance** by **bumping the version numbers** for the **`markitdown`** and **`markitdown-mcp`** Python packages. Specifically, the `markitdown` package is updated from `0.1.1` to `0.1.2a1`, and `markitdown-mcp` is updated from `0.0.1a3` to `0.0.1a4`. This change prepares the project for a **new pre-release**, making alpha versions available for early testing and integration. The update affects the core `markitdown` library and its related `mcp` component, signaling progress towards the next stable release. | May 21 | 2 | maint |
| bbcf876 | This commit performs a **security refactoring** within the **`markitdown` package**, specifically updating its **EPUB and RSS converters**. It replaces the standard library `minidom` XML parser with the more robust and secure `defusedxml` library in both `_epub_converter.py` and `_rss_converter.py`. This change enhances the application's resilience against various XML-related vulnerabilities when processing external content. Additionally, type hints for DOM document and element objects were updated to reflect the new parsing library, improving code clarity and maintainability. | May 21 | 3 | maint |
| 9e067c4 | This commit introduces a **new capability** to the `markitdown` package, significantly enhancing the integration and configurability of **Azure Doc Intelligence**. It allows users to directly pass `AzureKeyCredentials` to the `DocumentIntelligenceConverter` and provides **fine-grained control over supported file types** through a new `DocumentIntelligenceFileType` enum. The `MarkItDown` constructor now propagates these `docintel_credential` and `docintel_file_types` options, simplifying the configuration process. This enhancement streamlines the setup for Azure Doc Intelligence, offering greater flexibility in processing various document formats. | Mar 26 | 3 | grow |
| 9a95105 | This commit **updates the project documentation** by adding a new tip section to the `README.md` file. This **documentation update** provides a direct link to the **MarkItDown MCP package**, enhancing user guidance and discoverability for this related component. The change primarily affects the **project's `README.md`**, ensuring users can easily find relevant external resources. | Mar 25 | 1 | maint |
| 73b9d57 | This commit performs **documentation maintenance** by updating the PyPI version and download badges within the `README.md` files of the **`markitdown-mcp`** and **`markitdown-sample-plugin`** subpackages. It **fixes incorrect package name references** in these badges, changing them from the generic `markitdown` to their specific, correct package names. This ensures that the displayed badges accurately reflect and link to the respective packages on PyPI, improving the clarity and reliability of the project's documentation for users. | Mar 25 | 2 | maint |
| 3ca5798 | This commit introduces a **new MarkItDown MCP (Multi-Content Protocol) server** using Server-Sent Events (SSE), establishing a foundational component for multi-content processing. It adds the `markitdown-mcp` package, including its main entry point in `src/markitdown_mcp/__main__.py` which defines the `convert_to_markdown` tool and server startup logic. This work is a **new capability**, providing initial support for MarkItDown as an MCP server. It also includes a `Dockerfile` for containerization and updated `README.md` documentation with usage instructions, Docker setup, and integration details for Claude Desktop. This significantly expands MarkItDown's interoperability and deployment options. | Mar 25 | 8 | grow |
| c1f9a32 | This commit performs a **version bump** for the **`markitdown` package**, updating its internal version number from `0.1.0` to `0.1.1` within the `__about__.py` file. This **maintenance** task signifies a new minor release or a collection of small changes and fixes integrated into the package. The update ensures that users and package managers correctly identify the latest iteration of the `markitdown` library. | Mar 25 | 1 | maint |
| e928b43 | This commit introduces a **new feature** to the `markitdown` package by **enhancing its URI handling capabilities** to support `data:` and `file:` URIs. The existing `convert_url` function in `_markitdown.py` has been **renamed to `convert_uri`** and refactored to accommodate these new URI schemes, leveraging new utility functions like `file_uri_to_path` and `parse_data_uri` in `_uri_utils.py`. This change allows `markitdown` to process a wider range of embedded or referenced content, significantly improving its versatility. Comprehensive **test cases** were added across `test_module_misc.py` and `test_module_vectors.py` to validate the new parsing and conversion logic. | Mar 25 | 4 | maint |
| 2ffe6ea | This commit **releases version `0.1.0`** of the **`markitdown` package**, updating the internal version from `0.1.0a6`. It includes crucial **documentation updates** in the `README.md` to reflect the new stable release. Specifically, the installation command is updated, and a **breaking change note** is added regarding the input requirements for the `convert_stream()` function. This ensures users are informed about the latest package version and critical API changes, making it a significant **maintenance and documentation update**. | Mar 22 | 2 | maint |
| eaef7ba | This commit introduces **Docker-out-of-Docker support** within the **AGBench** framework, enabling scenarios where agent teams relying on the `DockerCommandLineExecutor` can execute Docker commands from within a Dockerized AGBench environment. This **new capability** is primarily implemented in the `run_scenario_in_docker` function, which now conditionally mounts the host's Docker socket and sets the `HOST_WORKSPACE` environment variable. This enhancement is crucial for accurate benchmarking and testing, as it ensures consistent behavior for local executors and improves the fidelity of test environments. | Mar 21 | 2 | grow |
This commit implements a crucial **security enhancement** and **documentation update** for the `markitdown-mcp` package. It introduces a **runtime security warning** that is emitted to `stderr` if the HTTP server is configured to bind to a non-localhost interface, directly impacting the server's startup behavior in `packages/markitdown-mcp/src/markitdown_mcp/__main__.py`. Concurrently, the `packages/markitdown-mcp/README.md` has been significantly updated to include this important warning, clarify usage instructions, and expand on general security considerations. This ensures users are proactively informed about potential security implications of their server configuration, improving overall security posture and user guidance.
This commit performs a **version bump** for the **`markitdown`** package, updating its internal version string from `0.1.5b2` to `0.1.5` within the `__about__.py` file. This **maintenance chore** signifies the preparation for a stable release, moving the package out of its beta phase. It ensures that the distributed package correctly reflects its official version, providing clarity for users and downstream dependencies.
This commit introduces a **new feature** to the **`markitdown` package** by adding `text/markdown` to the `Accept` header of its HTTP request session. This modification, implemented during the session's initialization, explicitly signals a preference for markdown content when the package makes web requests. The change enhances content negotiation, potentially improving compatibility and ensuring the correct content type is received from servers that offer markdown.
This commit performs essential **dependency maintenance** by updating the required versions of the `mammoth` and `pdfminer.six` libraries. A key aspect of this change is addressing **CVE-2025-64512** in `pdfminer.six` by ensuring a minimum patched version is used, thereby enhancing the project's **security posture**. Consequently, the **`markitdown`** package's own version is incremented to `0.1.4` in `markitdown/__about__.py`, reflecting these critical updates. This ensures that `markitdown` users benefit from improved security and updated external library functionality.
Upgrade mammoth to 1.11.0 (#1452)
This commit introduces a **new test case** within the `markitdown` package to specifically verify the correct resolution of "rlinks" (resource links) when processing documents. The **test enhancement** adds `test_doc_rlink` to `packages/markitdown/tests/test_module_misc.py`, ensuring that the `markitdown` module's integration with `mammoth` properly handles these link types. This work **improves test coverage** for the `markitdown` parser, confirming its ability to semantically process and resolve relative links, thereby enhancing the reliability of document conversions.
This commit delivers a **bug fix** addressing an issue where **`markitdown`**'s **DOCX conversion** process struggled with linked images. A **workaround** has been implemented in the `_docx_converter.py` module to explicitly disable the processing of these external image references by overriding the `mammoth` library's file opening behavior. This change ensures that DOCX files containing linked images can be converted without errors, significantly improving the **stability and reliability of the conversion subsystem**. The package version is also updated to `0.1.3` to reflect this critical improvement.
This commit introduces a **new feature** that allows the **MarkItDown MCP server** to dynamically control the enablement of its plugin system. It modifies the `markitdown-mcp` package to read the `MARKITDOWN_ENABLE_PLUGINS` environment variable, which now dictates whether plugins are active during markdown conversion. Specifically, the `convert_to_markdown` function in `markitdown_mcp/__main__.py` now utilizes a new `check_plugins_enabled` function to determine plugin status. This change also updates the `Dockerfile` to set this environment variable by default, providing a straightforward way to configure plugin behavior for the service, especially in **containerized deployments**.
This commit performs a **maintenance** update by promoting the **`markitdown` package** from its alpha release `0.1.2a1` to the stable version `0.1.2`. It specifically modifies the version string within the `markitdown/__about__.py` file to reflect this change. This **version bump** officially marks the release of `markitdown` version `0.1.2`, making it available for general use and indicating a stable build for consumers of the package.
This commit **enhances the `markitdown-mcp` server's transport options** by introducing a new `--http` argument. This **feature addition** allows users to run the server with streamable HTTP, providing a more modern and flexible transport mechanism. Concurrently, the older `--sse` argument is **deprecated** in favor of the new `--http` option, streamlining the **command-line interface**. The **documentation** in `packages/markitdown-mcp/README.md` has also been updated to reflect these changes, clarifying transport type descriptions and correcting command examples for running the server. This change encourages the adoption of more robust HTTP streaming while maintaining backward compatibility for a transition period.
This commit performs **maintenance** by **bumping the version numbers** for the **`markitdown`** and **`markitdown-mcp`** Python packages. Specifically, the `markitdown` package is updated from `0.1.1` to `0.1.2a1`, and `markitdown-mcp` is updated from `0.0.1a3` to `0.0.1a4`. This change prepares the project for a **new pre-release**, making alpha versions available for early testing and integration. The update affects the core `markitdown` library and its related `mcp` component, signaling progress towards the next stable release.
This commit performs a **security refactoring** within the **`markitdown` package**, specifically updating its **EPUB and RSS converters**. It replaces the standard library `minidom` XML parser with the more robust and secure `defusedxml` library in both `_epub_converter.py` and `_rss_converter.py`. This change enhances the application's resilience against various XML-related vulnerabilities when processing external content. Additionally, type hints for DOM document and element objects were updated to reflect the new parsing library, improving code clarity and maintainability.
This commit introduces a **new capability** to the `markitdown` package, significantly enhancing the integration and configurability of **Azure Doc Intelligence**. It allows users to directly pass `AzureKeyCredentials` to the `DocumentIntelligenceConverter` and provides **fine-grained control over supported file types** through a new `DocumentIntelligenceFileType` enum. The `MarkItDown` constructor now propagates these `docintel_credential` and `docintel_file_types` options, simplifying the configuration process. This enhancement streamlines the setup for Azure Doc Intelligence, offering greater flexibility in processing various document formats.
This commit **updates the project documentation** by adding a new tip section to the `README.md` file. This **documentation update** provides a direct link to the **MarkItDown MCP package**, enhancing user guidance and discoverability for this related component. The change primarily affects the **project's `README.md`**, ensuring users can easily find relevant external resources.
This commit performs **documentation maintenance** by updating the PyPI version and download badges within the `README.md` files of the **`markitdown-mcp`** and **`markitdown-sample-plugin`** subpackages. It **fixes incorrect package name references** in these badges, changing them from the generic `markitdown` to their specific, correct package names. This ensures that the displayed badges accurately reflect and link to the respective packages on PyPI, improving the clarity and reliability of the project's documentation for users.
This commit introduces a **new MarkItDown MCP (Multi-Content Protocol) server** using Server-Sent Events (SSE), establishing a foundational component for multi-content processing. It adds the `markitdown-mcp` package, including its main entry point in `src/markitdown_mcp/__main__.py` which defines the `convert_to_markdown` tool and server startup logic. This work is a **new capability**, providing initial support for MarkItDown as an MCP server. It also includes a `Dockerfile` for containerization and updated `README.md` documentation with usage instructions, Docker setup, and integration details for Claude Desktop. This significantly expands MarkItDown's interoperability and deployment options.
This commit performs a **version bump** for the **`markitdown` package**, updating its internal version number from `0.1.0` to `0.1.1` within the `__about__.py` file. This **maintenance** task signifies a new minor release or a collection of small changes and fixes integrated into the package. The update ensures that users and package managers correctly identify the latest iteration of the `markitdown` library.
This commit introduces a **new feature** to the `markitdown` package by **enhancing its URI handling capabilities** to support `data:` and `file:` URIs. The existing `convert_url` function in `_markitdown.py` has been **renamed to `convert_uri`** and refactored to accommodate these new URI schemes, leveraging new utility functions like `file_uri_to_path` and `parse_data_uri` in `_uri_utils.py`. This change allows `markitdown` to process a wider range of embedded or referenced content, significantly improving its versatility. Comprehensive **test cases** were added across `test_module_misc.py` and `test_module_vectors.py` to validate the new parsing and conversion logic.
This commit **releases version `0.1.0`** of the **`markitdown` package**, updating the internal version from `0.1.0a6`. It includes crucial **documentation updates** in the `README.md` to reflect the new stable release. Specifically, the installation command is updated, and a **breaking change note** is added regarding the input requirements for the `convert_stream()` function. This ensures users are informed about the latest package version and critical API changes, making it a significant **maintenance and documentation update**.
This commit introduces **Docker-out-of-Docker support** within the **AGBench** framework, enabling scenarios where agent teams relying on the `DockerCommandLineExecutor` can execute Docker commands from within a Dockerized AGBench environment. This **new capability** is primarily implemented in the `run_scenario_in_docker` function, which now conditionally mounts the host's Docker socket and sets the `HOST_WORKSPACE` environment variable. This enhancement is crucial for accurate benchmarking and testing, as it ensures consistent behavior for local executors and improves the fidelity of test environments.
Commit activity distribution by hour and day of week. Shows when this developer is most active.
Developers who frequently work on the same files and symbols. Higher score means stronger code collaboration.