diff --git a/pift.cron.inc b/pift.cron.inc
index c8f24f7..6b8c5bc 100644
--- a/pift.cron.inc
+++ b/pift.cron.inc
@@ -497,11 +497,11 @@ function pift_cron_check_auto_followup(array $result) {
  * @param string $filename Name of file.
  */
 function pift_cron_auto_followup($nid, $cid, $filename) {
-  project_issue_add_auto_followup(array(
-    'nid' => $nid,
-    'sid' => PIFT_FOLLOWUP_FAIL,
-    'comment' => theme('pift_auto_followup', array('type' => 'fail', 'nid' => $nid, 'cid' => $cid, 'filename' => $filename)),
-  ));
+  $node = node_load($nid);
+  $node->field_issue_status['value'] = PIFT_FOLLOWUP_FAIL;
+  $node->nodechanges_uid = variable_get('project_issue_followup_user', drupal_anonymous_user()->uid);
+  $node->nodechanges_comment_body['value'] = theme('pift_auto_followup', array('type' => 'fail', 'nid' => $nid, 'cid' => $cid, 'filename' => $filename));
+  node_save($node);
 }
 
 /**
diff --git a/pift.module b/pift.module
index 50aec00..2feb888 100644
--- a/pift.module
+++ b/pift.module
@@ -18,7 +18,7 @@ define('PIFT_DESCRIPTION', variable_get('pift_description', ''));
 define('PIFT_FOLLOWUP_FAIL', variable_get('pift_followup_fail', 0));
 define('PIFT_FOLLOWUP_RETEST', variable_get('pift_followup_retest', 0));
 define('PIFT_REGEX', variable_get('pift_regex', '/(\.diff|\.patch)$/'));
-define('PIFT_PID', variable_get('pift_pid', -1));
+define('PIFT_PID', variable_get('pift_pid', 3060)); // TODO drupal.org specific to expidite port.
 define('PIFT_RETEST', variable_get('pift_retest', 24 * 60 * 60));
 define('PIFT_DELETE', variable_get('pift_delete', FALSE));
 define('PIFT_LAST_RETRIEVE', variable_get('pift_last_retrieve', 1));
@@ -99,42 +99,44 @@ function pift_menu() {
     'file' => 'pift.pages.inc',
     'type' => MENU_CALLBACK,
   );
-  $items['node/%node/testing-status'] = array(
-    'title' => t('Automated Testing'),
-    'access callback' => 'pift_results_visibility',
-    'access arguments' => array(1),
-    'page callback' => 'pift_results_project_tab',
-    'page arguments' => array(1),
-    'file' => 'pift.results.inc',
-    'weight' => '5',
-    'type' => MENU_LOCAL_TASK,
-  );
+//   $items['node/%node/testing-status'] = array(
+//     'title' => t('Automated Testing'),
+//     'access callback' => 'pift_results_visibility',
+//     'access arguments' => array(1),
+//     'page callback' => 'pift_results_project_tab',
+//     'page arguments' => array(1),
+//     'file' => 'pift.results.inc',
+//     'weight' => '5',
+//     'type' => MENU_LOCAL_TASK,
+//   );
 
   return $items;
 }
 
+// TODO This will be added back in the conduit port.
 /**
  * Access callback to determine whether the Automated Testing tab is visible.
  */
-function pift_results_visibility($node) {
-  // Check if we have a module node which has a Git repository
-  // Do not display the tab if the project does not have any release nodes
-  // TODO: Once PIFT/PIFR has been refactored to use label_ids instead of
-  // release nids, the last condition can be changed to enable reporting
-  // of tests for any tag/branch within a project.
-
-  // Determine if node represents a valid project type for results display
-  $valid_type = array_intersect(variable_get('pift_results_display', array()), array_keys($node->taxonomy));
-  if ($node->type == 'project_project'
-     && !empty($valid_type)
-     && !empty($node->versioncontrol_project['repo']->vcs)
-     && $node->versioncontrol_project['repo']->vcs == 'git'
-     && user_access('pift access project testing tab')
-     && pift_get_releases($node, TRUE) != array()) {
-    return TRUE;
-  }
-  return FALSE;
-}
+// function pift_results_visibility($node) {
+//   // Check if we have a module node which has a Git repository
+//   // Do not display the tab if the project does not have any release nodes
+//   // TODO: Once PIFT/PIFR has been refactored to use label_ids instead of
+//   // release nids, the last condition can be changed to enable reporting
+//   // of tests for any tag/branch within a project.
+//
+//   // Determine if node represents a valid project type for results display
+//   $valid_type = array_intersect(variable_get('pift_results_display', array()), array_keys($node->taxonomy));
+//   // TODO:  Is this still valid after the project* changes?  Use project_node_is_project().
+//   if ($node->type == 'project_project'
+//      && !empty($valid_type)
+//      && !empty($node->versioncontrol_project['repo']->vcs)
+//      && $node->versioncontrol_project['repo']->vcs == 'git'
+//      && user_access('pift access project testing tab')
+//      && pift_get_releases($node, TRUE) != array()) {
+//     return TRUE;
+//   }
+//   return FALSE;
+// }
 
 /**
  * Implements hook_permission().
@@ -216,45 +218,6 @@ function pift_cron() {
 }
 
 /**
- * Implements hook_versioncontrol_git_refs_updated().
- */
-function pift_versioncontrol_git_refs_updated($repository, $refs) {
-  // Ignore commits for disabled projects.
-  if (!pift_project_enabled($repository->project_nid)) {
-    return;
-  }
-
-  module_load_include('cron.inc', 'pift');
-
-  // @TODO Decide if we want to and how to handle with tags.
-  $api_versions = pift_core_api_versions();
-  $rids = pift_cron_get_release($repository->project_nid, array_keys($refs['branches']));
-  foreach ($rids as $rid) {
-    // Ensure that one of the compatibility terms is present on the release node.
-    $release = node_load($rid);
-    $found = FALSE;
-    foreach ($api_versions as $api_version) {
-      if (array_key_exists($api_version, $release->taxonomy)) {
-        // Compatible term found, continue processing.
-        $test_id = db_query('SELECT test_id
-                                        FROM {pift_test}
-                                        WHERE type = :type
-                                        AND id = :id', array(':type' => PIFT_TYPE_RELEASE, ':id' => $rid))->fetchField();
-
-        // If existing test for release, queue it, otherwise add a new test.
-        if ($test_id) {
-          pift_test_requeue($test_id);
-        }
-        else if ($test_id !== 0) {
-          pift_test_add(PIFT_TYPE_RELEASE, $rid);
-        }
-        break;
-      }
-    }
-  }
-}
-
-/**
  * Implements hook_versioncontrol_code_arrival().
  */
 function pift_versioncontrol_code_arrival(VersioncontrolRepository $repository, VersioncontrolEvent $event) {
@@ -310,7 +273,7 @@ function pift_get_releases($node, $quiet = FALSE) {
   $valid = pift_valid_prefix_list();
   $branches = array();
   $topbranches = array();
-  if ($node->type == 'project_project') {
+  if (project_node_is_project($node)) {
     $result = db_query("Select b.name from {versioncontrol_release_labels} a
        join {versioncontrol_labels} b on a.label_id = b.label_id
        where a.project_nid = %s", $node->nid);
@@ -452,7 +415,7 @@ function pift_node_delete($node) {
  * @todo Use pathauto in rewrite (just cleaning up slightly in port).
  */
 function pift_node_alias_update($node, $delete_only = FALSE) {
-  if ($node->type == 'project_project') {
+  if (project_node_is_project($node->type)) {
     $src = 'node/' . $node->nid . '/testing-status';
     if ($delete_only) {
       path_delete(array('src' => $src));
@@ -471,7 +434,8 @@ function pift_node_alias_update($node, $delete_only = FALSE) {
  * Used in hook_node_*() to filter out irrelevant nodes.
  */
 function pift_node_is_interesting($node) {
-  return $node->type == 'project_project' || ($node->type == 'project_issue' && !empty($node->files));
+  // TODO Deal with $node->files.
+  return project_node_is_project($node) || (project_issue_node_is_issue($node) && !empty($node->files));
 }
 
 /**
@@ -502,7 +466,7 @@ function pift_nodeapi_clean($node) {
  * Implements hook_comment_view().
  */
 function pift_comment_view($comment) {
-  if ($node = pift_comment_is_insteresting($comment)) {
+  if ($node = pift_comment_is_interesting($comment)) {
     if (!empty($comment->files) && pift_project_enabled($node->project_issue['pid'])) {
       // Remove comment_upload attachments table and generate new one.
       $comment->comment = preg_replace('/<table class="comment-upload-attachments">.*?<\/table>/s', '', $comment->comment);
@@ -544,7 +508,8 @@ function pift_comment_delete($comment) {
 /**
  * Check that comment is attached to a project_issue node.
  */
-function pift_comment_is_insteresting($comment) {
+function pift_comment_is_interesting($comment) {
+  // TODO:  Is this still valid after the project* changes?  Use project_issue_node_is_issue().
   if (($node = node_load($comment->nid)) && $node->type == 'project_issue') {
     return $node;
   }
diff --git a/pift.pages.inc b/pift.pages.inc
index 7fc0cf9..bc349be 100644
--- a/pift.pages.inc
+++ b/pift.pages.inc
@@ -151,21 +151,18 @@ function pift_pages_retest_confirm_form_submit($form, &$form_state) {
   if ($test['status'] > PIFT_STATUS_SENT) {
     if ($test['type'] == PIFT_TYPE_FILE) {
       // Base changes to be made in followup comment.
-      $changes = array(
-        'nid' => $test['nid'],
-        'uid' => $user->uid,
-        'comment' => theme('pift_auto_followup', array('type' => 'retest', 'nid' => $test['nid'], 'cid' => $test['cid'], 'filename' => $test['title'])),
-      );
+      $node = node_load($test['nid']);
+      $node->nodechanges_uid = $user->uid;
+      $node->nodechanges_comment_body['value'] = theme('pift_auto_followup', array('type' => 'retest', 'nid' => $test['nid'], 'cid' => $test['cid'], 'filename' => $test['title']));
 
       // If node issue status is not already a valid status then set to default
       // retest status, otherwise leave status alone.
-      $node = node_load($test['nid']);
       if (!in_array($node->project_issue['sid'], variable_get('pift_status', array()))) {
-        $changes['sid'] = PIFT_FOLLOWUP_RETEST;
+        $node->field_issue_status['value'] = PIFT_FOLLOWUP_RETEST;
       }
 
       // Add followup to issue.
-      project_issue_add_auto_followup($changes);
+      node_save($node);
     }
 
     // Update test record to reflect change.
